【发布时间】:2019-05-10 23:54:56
【问题描述】:
之前在其他版本的asp.net中,我使用了HttpRequest的这些属性:
Request.ServerVariables["REMOTE_ADDR"]
Request.UserHostAddress
如何在 ASP.NET Core 中实现相同的功能?
【问题讨论】:
之前在其他版本的asp.net中,我使用了HttpRequest的这些属性:
Request.ServerVariables["REMOTE_ADDR"]
Request.UserHostAddress
如何在 ASP.NET Core 中实现相同的功能?
【问题讨论】:
你可以使用IHttpContextAccessor:
private IHttpContextAccessor _accessor;
public Foo(IHttpContextAccessor accessor)
{
_accessor = accessor;
}
现在你通过这种方式获得 IP 地址”
var ip = _accessor.HttpContext.Connection.RemoteIpAddress.ToString();
【讨论】:
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
HttpContext.Connection.RemoteIpAddress 是您要查找的属性
【讨论】:
你可以使用请求
var GetIp = Request.HttpContext.Connection.RemoteIpAddress.ToString();
【讨论】:
效果很好。
var ip = request.HttpContext.Connection.RemoteIpAddress;
【讨论】: