asp.net经过内置对象来维护有关当前应用程序,每一个用户会话,当前http请求,请求的web窗体页等的信息,html
主要用于与用户的交互。这些内置对象包括:Request对象,Response对象,Context对象,Application对象,web
Session对象,Server对象和Trace对象。浏览器
1.Request对象服务器
Request对象表明由客户端程序发往服务器的http请求报文,即由浏览器发送到服务器的全部信息,如Cookie数据,asp.net
客户端浏览器类型和功能,MIME内容类型,客户端用GET或POST方法传递的查询字符串等。asp.net容许把这些编码
数据做为Request对象和集合来处理,可使用以下形式访问集合中的任意成员:Request.Collection["集合中的项"]。.net
a.Querystring集合orm
当html表单使用GET方法向asp.net文件传递数据时,它经过把数据附加在URL字符串后发送到服务器的指定文件中。htm
在asp.net中,能够经过检索Request对象的QueryString集合获取这些数据,而不用在HTTP GET中分析附加在URL后的字符串。对象
使用:Request.QueryString["键"]。
b.Form集合
当使用POST方法将HTML表单提交给服务器时,表单元素的值可使用Request对象的Form集合来检索,与GET方法相比,
POST方法能够将大量数据发送到服务器端。
使用:Request.Form["键"]。
2.Response对象
要想把服务器生成的结果动态的嵌入到web页中,便可以使用服务器控件,也可使用Request对象的Write方法。
也就是说,Response对象与Request对象恰好相反,它负责把服务器生成的数据返回给客户端,包括直接发送信息
给浏览器,重定向浏览器到另外一个URL或设置Cookie的值。asp.net中,可使用Response.Write("data")或<%=data%>
两种方法返回数据。
Write方法:是一个最经常使用的方法,它将指定的字符串输出到客户端浏览器,能够输出普通字符串和HTML标记。
Redict方法:使浏览器重定向到另外的URL上,这也是一个常用的方法。经过该方法可使服务器对不一样客户
的请求提供不一样的页面。
Cookie:是发给客户的一个标识,能够用它来存储有关特定客户端,会话或应用程序的信息,Cookie保存在客户机的硬盘上
或内存中。当浏览器访问同一网页时,会将Cookie中的信息连同请求信息一块儿发送给服务器。服务器经过提取Cookie的值,
就能够为用户提供个性化服务了。Cookie在System.Net命名空间中被实现为一个类,它包含许多属性。
属性 | 说明 |
Domain | 获取或设置Cookie的一个域(表明该Cookie只呈现给该域) |
Expires | 获取或设置Cookie的过时日期 |
Name | 获取或设置Cookie的名称 |
Path | 获取或设置此Cookie适用的URI,若是未指定此属性,则会将此Cookie发送到源服务器上的全部页 |
Value | 获取或设置Cookie的值 |
3.Server对象
Server对象能够访问服务器上的方法和属性。例如,在服务器上建立和启动控件实例,对HTML和URL进行编码,
把相对或虚拟路径映射到服务器上相应的物理目录上等。
MapPath方法:用于返回与web服务器上的指定虚拟路径相对应的物理路径。
Transfer方法:用于把当前页中止下来,而后按照给定的URL执行另一个web页。
能够利用它完成与Response对象的Redict方法相似的功能。
4.Application对象
一个web站点可能包含不少asp.net应用对象,而每一个asp.net应用程序都是驻留在web站点特定目录下的全部文件,
子目录,页,处理程序,模块和代码的总和,这个特定目录就是web应用程序的根目录。在根目录下的全部文件和
目录就组成了web应用程序。在asp.net中,使用Application对象表明web应用程序的运行实例,它从请求该web应用
程序的第一个页开始,到该web站点关闭时结束。所以,保存在Application中的数据是全局有效的,它特别适宜于在
该web应用程序的全部用户中共享信息,或在该web应用程序的不一样用户之间传递信息。Application里面存放的应该
是访问较多,修改较少而且是全局至少大部分功能会使用的数据。
使用:Application["键"]=值 或Application.Add(“键”,"值")
Remove()方法表示移除某个数据。RemoveAll()和clear()表示清除全部数据。
为了保证对Application对象中的变量访问同步,在使用Application变量时使用Lock和UnLock方法。
Application对象的Lock方法能够锁定Application变量,以防止在使用该Application变量时,其余会话改变它的值。
UnLock方法能够解除对Application变量的锁定,以便其余会话可使用该Application变量。
Lock和UnLock方法应成对使用。
Application对象还有可用于在asp.net应用程序启动和中止时触发的事件。当web服务器启动并容许对asp.net应用程序
所包含的文件进行请求时触发Application_Start事件,当asp.net应用程序终止时,触发Application_End事件,这些事件
处理过程存在于Global.asax文件中,该文件位于asp.net应用程序的根目录中。
当一个新用户访问站点时,Global.asax文件中的Session_Start事件将会引起,可在此使所有用户数和用户数和在线用户增一。
当用户于断开后会引起会引起Session_End事件,能够在此使在线用户减一。
5.Session对象
HTTP协议是一个无状态协议,每次用户对web服务器的请求都会被HTTP处理为一次惟一的用户会话,它不会保存之前用户
请求的任何信息。为了解决这个问题,asp.net提供了一种简单有效的方法,就是利用一个称为Session的对象来存储和处理
属于用户的信息。
Session对象用来存储和处理属于用户的信息。
使用:Session["键"]=值
Remove()方法删除Session对象的某个变量,RemoveAll()和Clear()方法将删除Session的全部数据。
TimeOut属性用来设置Session的过时时间,以分钟为单位。
Abandon方法:取消当前会话。一旦调用了Abandon方法,当前会话就再也不有效,全部存储在Session对象中的数据就会被删除。
Session_Start事件:在建立新会话时发生。该事件是设置会话期变量的最佳时机,由于在访问任何页以前都会先设置它们。
Session_OnEnd事件:在会话超时或调用Session对象的Abandon方法后发生,即会话结束时发生。
能够