查找连接到WCF服务的客户端的IP /名称?

时间:2012-03-30 07:12:58

标签: c# .net wcf iis was

您好,

我在IIS7中托管了一个使用WAS通过TCP进行通信的WCF服务。在服务端,我已经实现了IParameterInspector来记录被调用的服务操作,但我还需要客户端IP /名称。

我试过这个:

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

但那总是会返回“:: 1”?如果我使用:

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

该名称将始终为本地名称,即使客户端位于不同的计算机上,服务也是如此?

BestRegards

编辑1:如果我已经正确阅读,则无法获取IP,那么问题是,是否有任何其他方式来指定客户端,maby某种GUID或者它只是我应该使用的会话ID? / p>

1 个答案:

答案 0 :(得分:0)

您可能会收到一个IPv6地址(就像您在这里一样)。 ::1是IPv4上与127.0.0.1等效的IPv6。

此外,并非所有IP地址都有与之关联的主机名,有些可能没有任何句点(例如,如果您获得'localhost'或其他本地LAN计算机名称)