Как я могу получить адрес клиента из приложения-службы WCF? Кроме того, происходит ли событие при подключении клиента, возможно, с адресной информацией?
В 3.0 это довольно сложно; но был улучшен в 3.5 ( читать Определить IP-адрес клиента в WCF 3.5 ). Я не знаю о событии, однако.
Если System.Web.HttpContext.Current.Request.UserHostAddress не равен NULL, то он имеет удаленный адрес. Но это может быть прокси или балансировщик нагрузки (случай, который я имею в нашей производственной среде).
Какой адрес вы ищете? IP-адрес?
Если это так, я надеюсь, что вы знаете об ограничениях на это - не будет точным, если клиент находится на другой стороне устройства NAT или интернет-прокси.
Было бы проще, если бы хост WCF предоставлял способ получения IP-адреса запрашивающей службы - чтобы вы могли вызвать этот метод для получения исходного запрашивающей стороны.
Вы можете использовать что-то вроде следующего OperationContext.Current.IncomingMessageHeaders.To.Host
OperationContext.Current.IncomingMessageHeaders.To.Host