如果您通过 Request[key] 对请求的项目进行简单索引,它会查找 4 个地点. 。有什么顺序吗?有人在该页面上猜测“Cookies、ServerVariables、Form 和 QueryString”。有人有确切消息么?文档将是一个额外的好处:)

有帮助吗?

解决方案

  

public string this [string key] {get; }

     

声明类型: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;
    }
}

其他提示

只需使用反射器,您就可以亲眼看到它。订单是QueryString,Form,Cookies,然后是ServerVariables。

这是来自一个 ASP网站, ,但它仍然适用于 ASP.NET:

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

  1. 请求参数
  2. 形式
  3. 饼干
  4. 客户证书
  5. 服务器变量
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top