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

C# 查找连接到WCF服务的客户端的IP/名称?,c#,.net,wcf,iis,was,C#,.net,Wcf,Iis,Was,你好, 我有一个托管在IIS7中的WCF服务,它使用WAS通过TCP进行通信。在服务端,我实现了IParameterInspector来记录调用的服务操作,但我还需要客户端IP/名称 我试过这个: OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name].Address 但这总是会回来:“1”?如果我使用: Dns.GetHostEntry(messageProperty.Add

你好,

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

我试过这个:

OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name].Address
但这总是会回来:“1”?如果我使用:

Dns.GetHostEntry(messageProperty.Address).HostName.Split('.').LastOrDefault()
名称将始终是本地的,即使客户端位于不同的计算机上,这也是服务的名称吗

问候

编辑1:如果我读对了,IP是不可能得到的,所以问题是是否有其他方法来指定客户机,可能是通过某种GUID,或者它是我应该使用的唯一会话ID?

您可能会收到一个地址(就像您在这里看到的那样)<代码>::1是IPv6等同于IPv4上的
127.0.0.1


此外,并非所有IP地址都有与之关联的主机名,有些可能没有句点(例如,如果您获得“localhost”或另一个本地LAN机器名)

我可能只能使用客户端的IP(IPV4)地址,但我确信远程客户端不在我提供服务的本地计算机上。那么,我如何在IParameterInspector中找到客户端IP/域名呢?您似乎编写了代码,通过复杂的方式获取本地地址。是的,似乎是这样,问题是我如何获取客户端IP?可能吗?