2010-09-12 101 views
2

我在Visual Studio設計器模式下在Windows Workflow Foundation 4.0中構建了一項服務。獲取請求IP和標頭

如何在WF,VS Designer模式下檢索客戶端IP和請求標頭?

回答

1

看起來像你想要做的是在設計器的工作流中放置一個InvokeMethod活動(這是在工具箱的Primitives部分)。在那裏你指定了一個類的類型和要調用的方法。在此方法中,你可以調用的OperationContext類來獲取客戶端的地址和請求頭,像這樣:

public class Class1 { 
    public static void SomeMethod() { 
     EndpointAddress clientAddress = OperationContext.Current.Channel.RemoteAddress; 
     MessageHeaders headers = OperationContext.Current.RequestContext.RequestMessage.Headers; 
     // Do something with the address and/or headers... 
     return; 
    } 
} 
1

從傳入請求獲取WCF詳細信息的方法是實現IReceiveMessageCallback並將該類添加到NativeActivityContext.Properties。在OnReceiveMessage()函數中,您將收到WCF OperationContext,允許您從那裏檢索您喜歡的任何數據。

+0

這是關於WF不WCF – Moon 2010-09-21 10:39:26

+0

那麼什麼樣的IP地址和請求頭的你敬畏的一個問題? – Maurice 2010-09-21 10:47:21

+0

@Maurice:什麼樣的IP地址?那麼看起來像這樣:70.23.34.32 – Moon 2010-09-22 07:27:13