我正在使用Visual Studio设计器模式在Windows Workflow Foundation 4.0中构建服务。
如何在WF,VS Designer模式下检索客户端IP和请求标头?
答案 0 :(得分:1)
从传入请求获取WCF详细信息的方法是实现IReceiveMessageCallback并将该类添加到NativeActivityContext.Properties。在OnReceiveMessage()函数中,您将收到WCF OperationContext,允许您从那里检索您喜欢的任何数据。
答案 1 :(得分: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;
}
}