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,如果过多地搜索,会降低程序的执行效率。