Как получить имя компьютера клиента из контракта WCF?
В настоящее время я смотрю на свойства OperationContect.Current. Есть ли (вложенное) свойство, которое всегда будет возвращать имя компьютера клиента? В настоящее время я использую привязку net.tcp, но хотел бы поддерживать дополнительные привязки в будущем.
Использование.NET 3.5 SP1
1 ответ
Решение
Вы можете получить IP-адрес удаленной конечной точки из IncomingMessageProperties текущего OperationContext, например:
RemoteEndpointMessageProperty messageProperty = OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
Console.WriteLine("Remote address is: {0}", messageProperty.Address);