我正在尝试在 asp.net 中获取 ServerVariables["REMOTE_ADDR"]。
这是我的旧代码(webapi 2):
private Logn GLog(System.Web.Routing.RequestContext requestContext)
{
Ln Log = new LogInformation();
Lg.IP = requestContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"];
Lg.RemoteIP = requestContext.HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
............................
据我了解,他们将“Routing.RequestContext”更改为
vNext 版本中的“IHttpContextAccessor”。
如何使用 IHttpContextAccessor 实现上述结果?
这让我在“ServerVariables”部分出错:
private Logn GLog(IHttpContextAccessor requestContext)
{
Ln Log = new LogInformation();
Lg.IP = requestContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"];
}
最佳答案
您需要改用 ConnectionInfo.RemoteIpAddress
:
private Logn GLog(IHttpContextAccessor contextAccessor)
{
Ln Log = new LogInformation();
Lg.IP = contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString();
// ...
}
关于c# - 在 Asp.Net 5 中访问客户端 IP 地址 (REMOTE_ADDR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33999011/