相关疑难解决方法(0)

如何在ASP.Net Core 2.x中访问服务器变量

我正在使用ASP.Net core 2.0 Web应用程序,并将其部署在Azure上。我需要做的是获取客户端IP地址。为此,我在整个Internet上进行搜索,发现服务器变量对此有所帮助。

因此,我从这里找到此代码以使用以下方法获取客户端IP:

string IpAddress = this.Request.ServerVariables["REMOTE_ADDR"];

但是,当我尝试上面的代码时,它显示了一个错误“ HttpRequest不包含服务器变量的定义”

我也尝试过这段代码:

var ip0 = HttpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress;
Run Code Online (Sandbox Code Playgroud)

代码定义

RemoteIpAddress发出请求的客户端的IP地址。请注意,这可能是针对代理而不是最终用户。

上面的代码获取IP地址,但它不是一个clientip,每次当我通过控制器访问上面的代码时,它都会刷新IP。也许这是一个Azure Web服务代理,每次都会发出get请求。

在ASP.Net Core 2.x中访问服务器变量的正确方法是什么?

c# asp.net asp.net-core

6
推荐指数
2
解决办法
7845
查看次数

如何访问AspnetCore 1.0中的ServerVariables

在现有的.Net网站中,可以使用服务器变量访问

HttpContext.Current.Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]
Run Code Online (Sandbox Code Playgroud)

如何访问AspnetCore 1.0 Web应用程序中的ServerVariables?
在控制器内部调试时,this.HttpContext.Features不包含IServerVariablesFeature.

server-variables httpcontext request.servervariables asp.net-core

5
推荐指数
1
解决办法
7675
查看次数