Получение запроса IP и заголовков

Я строю службу в Windows Workflow Foundation 4.0 в режиме конструктора Visual Studio.

Как получить IP-адрес клиента и запросить заголовки в режиме WF, VS Designer?

2 ответа

Решение

Похоже, что вы хотите сделать, это поместить действие InvokeMethod (это находится в разделе "Примитивы" панели инструментов) в ваш рабочий процесс в конструкторе. Там вы указываете тип класса и вызываемый метод. Внутри этого метода вы можете вызвать класс 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;
    }
}

Чтобы получить подробности WCF из входящего запроса, нужно реализовать IReceiveMessageCallback и добавить этот класс в NativeActivityContext.Properties. В функции OnReceiveMessage() вы получите WCF OperationContext, позволяющий вам получать оттуда любые данные, которые вам нравятся.

Другие вопросы по тегам