2009-02-11 45 views
0

在編寫自定義通道時,如何獲取將要調用的服務方法的名稱。您可以從WCF通道堆棧中獲取服務方法的名稱嗎?

例如,如果操作合同如下所示,如何知道是否正在調用Method1Method2

[OperationContract] 
void Method1(int data); 

[OperationContract] 
void Method2(int data); 

通道本身不會對消息執行任何主要功能,只會增加一些額外的數據。我在尋找的是根據所調用的方法自定義通道中添加的額外數據(或者更具體地說,如果它裝飾了某些東西)。

+0

可以詳細說明您想要的信息位置,例如來電者,被叫者和在什麼級別? – 2009-02-11 20:30:45

回答

0

如果您正在創建一個傳輸通道,那麼這完全取決於您。您需要負責接收傳入的字節並將其轉換爲一條消息,然後將消息按下通道堆棧。

如果你正在創建一個協議通道,你可以訪問OperationContext(它應該在那個時候設置),然後檢查IncomingMessageHeaders屬性並獲取操作頭。這是用來映射到OperationContract的。

你究竟想在這裏做什麼,以及你在什麼時候嘗試去做?你想要創建什麼樣的頻道?你的問題沒有足夠的信息來真正給出答案。

相關問題