Получить IpAddress клиента в службе WCF
Я пытаюсь использовать службу WCF, встроенную в.Net 4.0, с настраиваемыми бизнес-функциями на html-странице (используя jquery) и хочу получить IP-адрес клиента в службе WCF, кто бы ни пытался получить доступ к моей службе через определенную html-страницу. Служба WCF и html-страница (использующая службу WCF) настраиваются / размещаются на одних и тех же виртуальных машинах Windows Server в IIS.
В процессе я использую приведенный ниже код в службе WCF для получения информации об IP-адресе клиента.
Код:
OperationContext context = OperationContext.Current;
MessageProperties properties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
string address = endpoint.Address;
Настроен балансировщик нагрузки (где служба развернута на двух серверах), и мы используем виртуальный URL для доступа к службе WCF.
При попытке получить доступ к службе WCF через имя компьютера, служба может правильно получить IP-адрес клиента, но когда я использую виртуальный URL-адрес (где запросы могут обрабатываться балансировщиком нагрузки на любом из настроенных компьютеров), служба получение IP-адреса сервера вместо сведений об IP-адресе клиента.
Я застрял в этой проблеме и не нашел какого-либо свойства в OperationConetext полезным для получения клиентского IpAddress. Может кто-нибудь, пожалуйста, помогите мне в решении моей проблемы.