UserHostAddress in Asp.net Core
HttpRequest.UserHostAddress
gives the IP address of the remote client. In ASP.NET Core 1.0, you have to use the HTTP connection feature to get the same. HttpContext
has the GetFeature<T>
method that you can use to get a specific feature. As an example, if you want to retrieve the remote IP address from a controller action method, you can do something like this.
var connectionFeature = Context
.GetFeature<Microsoft.AspNet.HttpFeature.IHttpConnectionFeature>();
if (connectionFeature != null)
{
string ip = connectionFeature.RemoteIpAddress.ToString();
}
If you have access to the HttpContext
, you can get the Local/Remote IpAddress from the Connection
property like so:
var remote = this.HttpContext.Connection.RemoteIpAddress;
var local = this.HttpContext.Connection.LocalIpAddress;
This has moved since the original answer was posted. Access it now via
httpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress