Как получить имя компьютера клиента из контракта 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);
Другие вопросы по тегам