hice la siguiente función:
static public string sGetIP()
{
try
{
string functionReturnValue = null;
String oRequestHttp =
WebOperationContext.Current.IncomingRequest.Headers["User-Host-Address"];
if (string.IsNullOrEmpty(oRequestHttp))
{
OperationContext context = OperationContext.Current;
MessageProperties prop = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpoint =
prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
oRequestHttp = endpoint.Address;
}
return functionReturnValue;
}
catch (Exception ex)
{
return "unknown IP";
}
}
Este trabajo sólo en Intranet, si tiene alguna proxy o natting se debe estudiar si el período de investigación original se mueve a otro lugar en el paquete HTTP.
Si obtiene System.InvalidOperationException "HttpContext no está disponible. Esta clase solo se puede usar en el contexto de una solicitud ASP.NET". \t HttpContext in Context no estará disponible sin agregar algunas cosas al web.config. . –
Menace