我使用WCF创建了Web服务,并在公共场合发布。现在,我想获取谁试图访问我的服务的系统IP详细信息。我不知道是否可能。如果可能的话,意味着告诉我。
简单!
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将有不同的回环地址。
您可以使用它获取IP地址。
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
所有请求信息都将通过请求作为服务器变量。有各种不同信息的整体堆都可以查看W3Schools列表。
在IP地址的情况下,它存储在远程_ADDR变量中,您可以使用:
在WebService中的请求中快速访问此信息HttpContext.Current.Request.UserHostAddress;