在现有的.Net网站中,使用访问服务器变量
HttpContext.Current.Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]
如何在AspnetCore 1.0Web应用程序中访问ServerVariables?
在控制器内部调试时,this.HttpContext.Features
不包含IServerVariablesFeature
。
发布于 2016-07-18 19:49:47
好吧,我不会直接回答你的问题。我将尝试说明为什么这个服务器变量不再是问题。
"HTTP_ACCEPT_LANGUAGE“是一个服务器变量,IIS和.NET使用它在ASP.NET框架上促进内容语言与应用程序的通信。
在过去,浏览器并不一致,并且不能一致地传递Accept-Language
头。为了填补这一空白,应用程序服务器(如IIS )必须通过智能地设置它来弥补它,通过使用标头、用户代理字符串和服务器上的默认配置的组合来组成与应用程序相关的内容。
我们不再想要它的原因很少,
Accept-Language
头。你只需在你最喜欢的浏览器的devtools中打开网络选项卡,检查HTTP请求报头,就可以看到这一点。
较新版本的.NET中的
Request Message in windows .NET framework
与编写在web服务器中的一些复杂的不透明逻辑相比,HttpRequest class in dotnet core
因此,应用程序可以简单地检查请求标头集合。
在此基础上进一步扩展,使用dotnet核心,暴露了许多功能,web服务器的实现可以支持这些功能。详情可以在here上找到。
更多细节将有助于理解框架和can服务器是如何巧妙地解耦的,请访问found here
发布于 2016-07-18 22:10:46
你不能,因为应用程序现在运行在进程之外。然而,正如humblelistener指出的那样,这些信息中的大部分都可以在其他地方获得。Accept语言是你唯一需要的语言吗?
https://stackoverflow.com/questions/38429604
复制相似问题