HttpRequest的索引搜索顺序(Search order of HttpRequest ind

2019-09-01 16:32发布

如果通过请求做一个简单的索引要求的项目[关键],它会在4个地点 。 什么是订单? 有人提出在“饼干,ServerVariables,窗体和查询字符串”该网页上的一个猜测。 有人有确切消息么? 文件将是一个奖金:)

Answer 1:

公共字符串此[字符串键{获得; }

声明类型:System.Web.HttpRequest集:System.Web,版本= 2.0.0.0

public string this[string key]
{
    get
    {
        string str = this.QueryString[key];
        if (str != null)
        {
            return str;
        }
        str = this.Form[key];
        if (str != null)
        {
            return str;
        }
        HttpCookie cookie = this.Cookies[key];
        if (cookie != null)
        {
            return cookie.Value;
        }
        str = this.ServerVariables[key];
        if (str != null)
        {
            return str;
        }
        return null;
    }
}


Answer 2:

只要使用反射 ,你可以看到它自己。 顺序是查询字符串,形式,饼干,然后ServerVariables。



Answer 3:

这是从ASP网站 ,但它仍然适用于ASP.NET:

所有请求对象变量可以直接通过调用请求(变量),而集合名称进行访问。 在这种情况下,Web服务器搜索按以下顺序集合:

  1. 请求参数
  2. 形成
  3. 饼干
  4. ClientCertificate
  5. ServerVariables


文章来源: Search order of HttpRequest indexer