在WCF中获取服务器IP地址?

时间:2010-03-09 13:59:36

标签: .net wcf

如果有多个IP地址的请求,我怎样才能获得用于请求的服务器地址

E.g。

  • 服务器的地址为10.0.0.1和10.0.0.2。
  • 处理请求时,服务器服务需要知道客户端是否使用10.0.0.1或10.0.0.2来连接它。

到目前为止,我才发现

  • OperationContext.Current.EndpointDispatcher.EndpointAddressOperationContext.Current.Channel.LocalAddress包含.config中的地址(例如localhost)

  • OperationContext.Current.IncomingMessageProperties.Via包含客户端用于连接服务器的Url(但这可能只是客户端主机文件中的名称)。

编辑:仍在寻找解决方案......

1 个答案:

答案 0 :(得分:0)

没有任何额外的帮助和工作,我认为你不能得到这个。

客户端向URL发送消息 - 消息被序列化,发送,处理和发回。你可以查询没有“常设连接”,服务器没什么可告诉你的。

您可以做的是创建一个Message Inspector扩展,可以在服务器端注册,并将服务器的本地IP写入标题字段,然后您可以在客户端进行检查。

谷歌或Bing为“WCF消息检查员”你应该找到一些点击 - 一些更好的点击: