在WCF服务中检索客户端IpAddress

时间:2015-07-23 10:59:14

标签: ip-address wcfserviceclient operationcontext

我正在尝试利用.Net 4.0中内置的WCF服务在html页面中使用自定义业务功能(使用jquery),并希望在WCF服务中检索客户端IPAddress,无论谁试图通过定义的html页面访问我的服务。 WCF服务和html页面(利用WCF服务)在IIS中的相同Windows服务器计算机虚拟机上设置/托管。

在此过程中,我在WCF服务中使用以下代码来检索客户端的IP地址信息。

代码:

OperationContext context = OperationContext.Current;
MessageProperties properties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
string address = endpoint.Address;

配置了负载均衡器(服务部署在两台服务器上),我们正在利用虚拟URL访问WCF服务。

当尝试通过计算机名访问WCF服务时,该服务能够正确检索客户端IPAddress,但是当我使用虚拟URL时(任何配置的计算机上的负载均衡器可以处理请求),该服务正在检索服务器IPAddress而不是客户端IP地址详细信息。

我遇到了这个问题,并且在OperationConetext中找不到任何有助于检索客户端IpAddress的属性。任何人都可以帮我解决我的问题。

0 个答案:

没有答案