在其他版本的asp.net中,我使用了HttpRequest
的这些属性:
Request.ServerVariables["REMOTE_ADDR"]
Request.UserHostAddress
如何在ASP.NET Core中实现相同的功能?
在其他版本的asp.net中,我使用了HttpRequest
的这些属性:
Request.ServerVariables["REMOTE_ADDR"]
Request.UserHostAddress
IHttpContextAccessor
:private IHttpContextAccessor _accessor;
public Foo(IHttpContextAccessor accessor)
{
_accessor = accessor;
}
现在你可以这样获取IP地址
var ip = _accessor.HttpContext.Connection.RemoteIpAddress.ToString();
HttpContext.Connection.RemoteIpAddress
是你要寻找的属性。
你可以使用 Request
var GetIp = Request.HttpContext.Connection.RemoteIpAddress.ToString();
它运作得非常好。
var ip = request.HttpContext.Connection.RemoteIpAddress;
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
- tarn