Найти IP / имя клиента, подключенного к услуге WCF? - PullRequest
1 голос
/ 30 марта 2012

Привет

У меня есть служба WCF, размещенная в IIS7, которая использует WAS для связи по TCP. На стороне сервиса я реализовал IParameterInspector для регистрации вызываемых сервисных операций, но мне также нужен IP / Имя клиента.

Я пробовал это:

OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name].Address

Но что всегда будет возвращать ":: 1"? Если я использую:

Dns.GetHostEntry(messageProperty.Address).HostName.Split('.').LastOrDefault()

Имя всегда будет локальным, и даже если клиент находится на другом компьютере, то служба?

BestRegards

Редактировать 1: IP невозможно получить, если я правильно прочитал, поэтому возникает вопрос, есть ли другой способ указать клиента, может быть, какой-нибудь GUID или это только идентификатор сеанса, который я должен использовать? 1019 *

1 Ответ

0 голосов
/ 30 марта 2012

Вы можете получить адрес IPv6 (как у вас здесь). ::1 - это IPv6, эквивалентный 127.0.0.1 в IPv4.

Кроме того, не все IP-адреса имеют имя хоста, связанное с ними, а некоторые могут не иметь периодов (например, если вы получаете «localhost» или другое имя локальной локальной машины)

...