您好,
我在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>
答案 0 :(得分:0)
您可能会收到一个IPv6地址(就像您在这里一样)。 ::1
是IPv4上与127.0.0.1
等效的IPv6。
此外,并非所有IP地址都有与之关联的主机名,有些可能没有任何句点(例如,如果您获得'localhost'或其他本地LAN计算机名称)