2011-08-08 43 views
1

WCF中的操作/回覆操作對服務操作有什麼用處。到目前爲止,我所瞭解的是, WSDL使用動作來識別來自客戶端的消息所屬的服務操作,並且作爲迴應,服務操作使用回覆動作來識別回覆消息所屬的調用者 - >如果我錯了,請糾正我的錯誤!操作與回覆操作WCF

現在,我想了解;什麼是真正的使用(除了處理匿名消息通過使用aster ix [*]),我的意思是這可以很好地由WCF內部處理,而不是暴露給開發人員。

此外,爲什麼要採取行動和replyaction?我的意思是,我們已經有一個服務操作的名稱屬性來標識方法,當我調用Proxy.SomeMethod()時,somemethod已經映射到Name屬性,它應該足以標識消息的目標方法,並且類似答覆。請澄清。

我可以請一個簡單的現實世界的場景/或鏈接到了解現實生活中的Action/ReplyAction。

很多謝謝。

回答

2

操作是各種SOAP和WS- *規範的一部分。

因此,第一點是,這不是WCF所特有的,它是您需要支持的規範的標準部分,如果您希望具有可互操作的Web服務。它們用於消息路由和其他消息處理功能。

其次,WCF默認管理這些。如果您想以其他方式自定義或管理它們,您只需要自己指定它們。例如。 WCF會自動將它們生成到你的WSDL中。當WCF選擇要爲傳入消息調用哪個操作時,WCF也會在默認情況下使用它們。再次,WCF提供了擴展點來定製這種行爲,如果你需要的話。

+0

請給我一個郵件路由示例嗎?我只能想到的消息路由的例子是通過向服務操作添加Action =「*」來處理匿名方法。請問有其他真實世界的例子嗎? –

+0

那麼一個例子就是消息路由器根據頭中的各種數據(包括動作)向不同的服務器發送消息。例如。發送到服務器A的動作1,2,3和服務器B的動作4,5,6。重點在於,這些數據在標題中攜帶,並可以獨立檢查郵件正文 - 對郵件正文進行加密的地方非常有用。 –

+0

有道理,謝謝。 –