Как получить адрес клиента из приложения-службы WCF? - PullRequest
5 голосов
/ 11 июля 2009

Как я могу получить адрес клиента из приложения-службы WCF? Кроме того, происходит ли событие при подключении клиента, возможно, с адресной информацией?

Ответы [ 5 ]

7 голосов
/ 11 июля 2009

В 3.0 это довольно сложно; но был улучшен в 3.5 ( читать Определить IP-адрес клиента в WCF 3.5 ). Я не знаю о событии, однако.

2 голосов
/ 11 июля 2009

Если System.Web.HttpContext.Current.Request.UserHostAddress не равен NULL, то он имеет удаленный адрес. Но это может быть прокси или балансировщик нагрузки (случай, который я имею в нашей производственной среде).

2 голосов
/ 11 июля 2009

Какой адрес вы ищете? IP-адрес?

Если это так, я надеюсь, что вы знаете об ограничениях на это - не будет точным, если клиент находится на другой стороне устройства NAT или интернет-прокси.

1 голос
/ 21 февраля 2012

Было бы проще, если бы хост WCF предоставлял способ получения IP-адреса запрашивающей службы - чтобы вы могли вызвать этот метод для получения исходного запрашивающей стороны.

0 голосов
/ 17 августа 2015

Вы можете использовать что-то вроде следующего OperationContext.Current.IncomingMessageHeaders.To.Host

...