日期:2014-03-11  浏览次数:20392 次

Request对象实际上操作System.Web命名空间中的类HttpRequest。当客户发出请求执行ASP.Net程序时,CLR会将客户端的请求信息包装在Request对象中。这些请求信息包括请求报头(Header)、客户端的基本信息(如浏览器类型、浏览器版本号、用户所用的语言
以及编码方式等)、请求方法(如PosT、GET)、参数名、参数值等。
    下面是某次请求RequeM中包含的部分信息:
  Connection:  Keep—Alive  Accept:  */*
  Accept—Encodng:  gzip deflate
  AccePt—Language:  2h—cn
  Cookie:  A5PSessionId=52qc 2i rpxyovuoexh k2x 2kqt
  Host:  Localhost
  User一Agent:  Mozilla 2llla/4.0  (comPatible;  NSIE  60b:  Wlndows Nt  5.0;...)
    Request对象的调用方法是:
    Request.Collectlon[”VariabLe”]
    其中,Cotle棚加包括QueryString、ForM、Cookies、SeverVaiables四种集合。这里的C0ollection可以省略,也就是说Request["Variable"]与Request.Collection["Variable"]这两种写法都是允许的。如果省略了Collection,那么Request对象会依照QueryString、ForM、Cookies、SeverVaiables的顺序查找,直至发现Variable所指的关键字并返回其值,如果没有发现其值,方法则返回空值(Null)。
    为了优化程序的执行效率,建议最好还是使用collection,如果过多地搜索,会降低程序的执行效率。