在现有的.Net网站上,可以使用
访问服务器变量/**
* List of all accessible Action from URL
* @var array
*/
var $accessControllList = array(
'allowed' => array('view','index'), // allowed for any role.
'role_base' => array(
'administrator' => array('delete', 'approve'), //specially allowed for administrator only
'publisher' => array('view','create','index','replyComment'), // specially allowed for publisher only
'reader' => array('postComment','replyComment') // specially allowed for reader
)
);
如何访问AspnetCore 1.0 Web应用程序中的ServerVariables?
在控制器内部进行调试时,HttpContext.Current.Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]
不包含this.HttpContext.Features
。
答案 0 :(得分:6)
好的,我不会直接回答你的问题。我将试着说明为什么这个服务器变量不再是问题了。
" HTTP_ACCEPT_LANGUAGE"是一个服务器变量,IIS& .NET用于促进ASP.NET框架与应用程序通信内容语言。
在这些日子里,浏览器并不一致,并且没有始终如一地传递Accept-Language
个标题。
为了填补这一空白,IIS等应用程序服务器必须通过智能地设置它来构建它,方法是使用服务器上的标头,用户代理字符串和默认配置的组合来组成与应用程序相关的内容。
我们不再需要它的原因很少,
Accept-Language
标头。您只需转到您喜欢的浏览器的devtools中的Network选项卡并检查HTTP请求标头即可看到此信息。新版.NET中的Http Request Message类非常清晰易读。
与Web服务器中编写的一些复杂的不透明逻辑相比,可以简化基于请求中的标头提供内容的简化。在所有应用程序变得越来越轻,服务器也变得越来越轻巧之后,它变得轻巧透明。为什么有人想在网络服务器中编写一个复杂的逻辑,而不是真正的网络服务器。
因此,应用程序可以只检查Request Header集合。
进一步扩展, 使用dotnet核心,有许多公开的功能,Web服务器的实现可以支持这些功能。可以找到详细信息here。
有助于了解框架和网络服务器如何整齐地分离的更多细节可以是found here
答案 1 :(得分:2)
你不能因为应用程序现在用完了。但是,正如humblelistener指出的那样,大部分信息都可以在其他地方找到。接受语言是你唯一需要的吗?