Request.ServerVariables.AllKeys不包含所有键

时间:2014-05-21 08:58:52

标签: c# asp.net-mvc

我们正在使用Request.ServerVariables来读取请求标头中代理添加的特定标头值。

我们可以使用

获取并读取搜索到的值
Request.ServerVariables.Get(myKey)
// or
Request.ServerVariables[myKey]

但我们注意到当我们用

循环键时
foreach (string key in Request.ServerVariables.AllKeys)
...

我们没有收到搜索到的密钥!

documentation内,我们可以阅读:

  

ServerVariables集合检索预定的值   环境变量和请求标头信息。

这是正确的,说Request.ServerVariables.AllKeys不包含所有键,我们必须使用索引器或get方法来测试密钥是否存在?

2 个答案:

答案 0 :(得分:1)

full list of variables can be found here。如果您知道自己之后的具体变量,那么简单地请求枚举完整集合的变量会更有效。

如果你只是在你的网络应用程序中进行调试,你会看到完整列表,据我所知,你不能在代码中轻松地添加到这个列表中。

enter image description here

答案 1 :(得分:-1)

我想念输入元素的Name属性

例如,

你不能使用Request.ServerVariables.Get(myKey);

获得波纹管控制的值
<input type='text' value='Indian' /> 

您使用<input name ='country' type='text' value='Indian' />

Request.ServerVariables.Get('country');