2

我正在以 Visual Studio 设计器模式在 Windows Workflow Foundation 4.0 中构建服务。

如何在 WF、VS Designer 模式下检索客户端 IP 和请求标头?

4

2 回答 2

1

从传入请求中获取 WCF 详细信息的方法是实现 IReceiveMessageCallback 并将该类添加到 NativeActivityContext.Properties。在 OnReceiveMessage() 函数中,您将收到 WCF OperationContext 允许您从那里检索您喜欢的任何数据。

于 2010-09-21T07:38:31.487 回答
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;
    }
}
于 2010-09-24T00:14:24.797 回答