在WebMethod中获取呼叫者IP

时间:2020-06-04 11:31:28

标签: asp.net c#-4.0

我在IIS中托管了两个项目。首先是GUI,其次是WebServices。 我必须在WebServices(WebMethod)中获得呼叫者IP地址。

我尝试过:

Context.Request.UserHostAddress
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]

前两个返回:: 1 第三个返回null。

当我在调用WebMethot之前在后面的GUI代码中尝试它们时,我会获得正确的IP地址。 如何在WebMethod中获得呼叫者IP地址?

我使用ASP Net 4.0

-编辑

我的意思是两个项目都托管在服务器上。

比方说服务器IP为192.168.0.2。 我的IP是192.168.0.3。

我正在打开Web浏览器,然后键入http://192.168.0.2/GUI。然后单击一个按钮,在Context.Request.UserHostAddress == 192.168.0.3后面的代码上。

按钮在同一台服务器http://192.168.0.2/services/service.asmx上调用WebMethod,在那里Context.Request.UserHostAddress == :: 1我认为这是正确的,因为GUI托管在服务所在的同一服务器上。

我的问题是如何获取我的IP(192.168.0.3):: 1。

我尝试了Context.Request.ServerVariables [“ HTTP_X_FORWARDED_FOR”],但它为空。

0 个答案:

没有答案