获取访问Web服务的IP详细信息

时间:2014-03-13 11:07:17

标签: c# asp.net wcf

我使用wcf创建了一个Web服务并在公共场所发布。现在我想获取谁试图访问我的服务的系统IP详细信息。我不知道它是否可能。如果它可能的手段告诉我那样。

3 个答案:

答案 0 :(得分:1)

简单!

string ip = String.Empty;
var props = OperationContext.Current.IncomingMessageProperties;
var endpointProperty = props[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
if (endpointProperty != null)
 {
      ip = endpointProperty.Address;
 }

注意部署后它将完美运行。在 localhost 上,它将为您提供网络环回地址。所以,不要担心。此外! IPv4和IPv6将有不同的环回地址。

答案 1 :(得分:0)

所有请求信息都与server variables请求一起传递。有一大堆各种不同的信息看起来at W3Schools list

如果IP地址存储在REMOTE_ADDR变量中,您可以使用以下命令从Web服务中的请求快速访问:

HttpContext.Current.Request.UserHostAddress;

答案 2 :(得分:0)

您可以使用它来获取IP地址。

HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];