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