如何从WCF服务应用程序获取客户端的地址?此外,当客户端连接时是否会引发事件,可能还有地址信息?
如果WCF主机提供获取服务请求者IP的方法会更容易 - 这样您就可以调用该方法来获取原始请求者 .
你在找哪个地址? IP地址?
如果是这样,我希望您了解其中的限制 - 如果客户端位于NAT设备或Internet代理的另一端,则不准确 .
您可以使用以下内容 OperationContext.Current.IncomingMessageHeaders.To.Host
OperationContext.Current.IncomingMessageHeaders.To.Host
在3.0中,这很难;但在3.5(read Detect Client IP in WCF 3.5)有所改善 . 不过,我不知道有什么事 .
如果System.Web.HttpContext.Current.Request.UserHostAddress不为null,则它具有远程地址 . 但这可能是代理或负载均衡器(我在 生产环境 环境中的情况) .
5 Answers
如果WCF主机提供获取服务请求者IP的方法会更容易 - 这样您就可以调用该方法来获取原始请求者 .
你在找哪个地址? IP地址?
如果是这样,我希望您了解其中的限制 - 如果客户端位于NAT设备或Internet代理的另一端,则不准确 .
您可以使用以下内容
OperationContext.Current.IncomingMessageHeaders.To.Host
在3.0中,这很难;但在3.5(read Detect Client IP in WCF 3.5)有所改善 . 不过,我不知道有什么事 .
如果System.Web.HttpContext.Current.Request.UserHostAddress不为null,则它具有远程地址 . 但这可能是代理或负载均衡器(我在 生产环境 环境中的情况) .