asp.net内置对象

asp.net通过内置对象来维护有关当前应用程序,每个用户会话,当前http请求,请求的web窗体页等的信息,

主要用于与用户的交互。这些内置对象包括:Request对象,Response对象,Context对象,Application对象,

Session对象,Server对象和Trace对象。

1.Request对象

Request对象代表由客户端程序发往服务器的http请求报文,即由浏览器发送到服务器的所有信息,如Cookie数据,

客户端浏览器类型和功能,MIME内容类型,客户端用GET或POST方法传递的查询字符串等。asp.net允许把这些

数据作为Request对象和集合来处理,可以使用如下形式访问集合中的任意成员:Request.Collection["集合中的项"]。

a.Querystring集合

当html表单使用GET方法向asp.net文件传递数据时,它通过把数据附加在URL字符串后发送到服务器的指定文件中。

在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方法后发生,即会话结束时发生。

可以

原文地址:https://www.cnblogs.com/xiaoai123/p/8231237.html