请求[“Key”]也将获得HTTP_HEADER变量

时间:2015-07-21 06:15:32

标签: c# asp.net httprequest

我没有回答我的问题。
当我写作

var name=Request["Key"]

我知道我可以获得GetPost的值。
我可以获得请求标头值,如下所示吗?

var name=Request.Headers["Key"]

相同
var name=Request["Key"]

或者有什么不同。

编辑1

我创建了一个页面并写了这个

WebRequest request = WebRequest.Create("http://localhost:54018/default.aspx");
request.Headers.Add("HTTP_USER", "shkehar");
WebResponse response = request.GetResponse();

并在默认页面上如果我写这个

Request.Headers["HTTP_USER"]

我得到了值

当我说

Request["HTTP_USER"]

我得到null

1 个答案:

答案 0 :(得分:1)

简短回答:是的,你可以。

更长的版本:

HttpRequest.HeadersSystem.Collections.Specialized.NameValueCollection的实例,NameValueCollection[]运算符,因此您可以输入以下内容获取标头值:

var name = Request.Headers["Key"];

修改

编辑完原始答案后,我的答案应该是:不,你不能。

放置的文档here说:要从QueryString,Form,Cookies或ServerVariables集合访问数据,您可以编写Request [" key"]

所以声明:

var user = Request.Headers["HTTP_USER"];

不等同于:

var user = Request["HTTP_USER"];