【发布时间】:2012-03-30 07:12:57
【问题描述】:
嗨,
我有一个托管在 IIS7 中的 WCF 服务,它使用 WAS 通过 TCP 进行通信。在服务端,我实现了 IParameterInspector 来记录被调用的服务操作,但我还需要客户端 IP/名称。
我试过了:
OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name].Address
但这总是会返回 "::1" 吗?如果我使用:
Dns.GetHostEntry(messageProperty.Address).HostName.Split('.').LastOrDefault()
名称将始终是本地名称,即使客户端在不同的计算机上也是如此,然后是服务?
致以最诚挚的问候
编辑 1:如果我没看错,就无法获得 IP,那么问题是是否有任何其他方式来指定客户端,可能是某种 GUID,还是我应该使用的唯一会话 ID?
【问题讨论】:
-
您似乎编写了代码以通过复杂的方式获取本地地址。
-
是的,看起来是这样,问题是我如何获得客户端 IP?有可能吗?