HttpRequest thisプロパティ

1238 ワード

私たちはaspをしています.Netの場合、クライアントのデータを取ることが多い.一般的な書き方は
  var q = Request.QueryString["xxx"];            var f = Request.Form["xxx"];            var c = Request.Cookies["xxx"].Value;            var s = Request.ServerVariables["xxx"];
私の一般的な書き方はvar val=Request[「xxx」];
この書き方は簡単ですが、問題も際立っていますが、QueryString、Form、Cookies、ServerVariablesに同じ値が含まれている場合は、その値を取る価値がありますか?
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の3つがカスタマーサービス側から取ったもので、asp.net4.0には検証が行われています.検証の方法はRequestValidatorです.IsValidRequestString.状況に応じてクラスのメソッドを書き換えることができます.