1, get the client IP
<summary>
///Get client IP
///</summary>
///<returns></returns>
Public String Getclientip ()
{
string clientip = "";
if (System.Web.HttpContext.Current!= null)
{
ClientIP = system.web.httpcontext.current.request.servervariables["Http_x_forwarded_for"];
if (string. IsNullOrEmpty (clientip) | | (Clientip.tolower () = = "Unknown"))
{
ClientIP = system.web.httpcontext.current.request.servervariables["Http_x_real_ip"];
if (string. IsNullOrEmpty (ClientIP))
{
ClientIP = system.web.httpcontext.current.request.servervariables["REMOTE_ ADDR "];
}
}
else
{
ClientIP = clientip.split (', ') [0];
}
}
return clientip;
}
2, server-side Get client request IP and client machine name
<summary>
///Server-side Get client request IP and client machine name
///</summary> public
static void Getclientinfo ()
{
OperationContext context = operationcontext.current;
Messageproperties messageproperties = context. incomingmessageproperties;
Remoteendpointmessageproperty Endpointproperty = Messageproperties[remoteendpointmessageproperty.name] As Remoteendpointmessageproperty;
HttpRequestMessageProperty Requestproperty = Messageproperties[httprequestmessageproperty.name] As HttpRequestMessageProperty;
String clientip =!string. IsNullOrEmpty (requestproperty.headers["X-real-ip"])? requestproperty.headers["X-real-ip"]: endpointproperty.address;
string clientname = Environment.MachineName;
Console.WriteLine ("ClientIP:" + ClientIP + "ClientName:" + clientname);
}