ASP.NET常用对象

本篇文章主要介绍了ASP.NET中内置的几个重要的对象,包括Response对象,Request对象,Serve对象,Application对象和Session对象。在介绍这些对象时,首先介绍这些对象的基本属性和方法,然后通过几个实例演示这些对象属性和方法的使用方法。通过文章的学习,读者应该掌握以下的内容:
● Response对象的Write,WriteFile,Redirect方法;Cookies,Charset,ContentEncoding等属性。
● 如何通过Request对象访问客户端表单中的信息。
● 如何通过Server对象实现HTML和URL的编码。
● 如何通过Application对象实现网站计数器。
● 了解Session对象的唯一性和时效性。
● 了解Application对象和Session对象保存数据的不同特点。
1.Response对象是HttpResponse类的一个对象,与一个HTTP响应相对应,通过该对象的属性和方法可以控制如何将服务器端的数据发送到客户端浏览器。
Response对象的属性和方法
属性
Buffer:表明页输出是否被缓冲。
BufferOutput:是否缓冲输出并在完成处理整个页之后将其发送。
Cache :获取Web页的缓存策略(过期时间、保密性、变化子句)。
Charset :获取或设置输出流的HTTP字符集。
ContentEncoding:获取或设置内容的编码格式。
ContentType: 获取或设置输出流的HTTP MIME类型。
Expires :获取或设置在浏览器上缓存的页过期之前的分钟数。如果用户在页过期之前返回同一页,则显示缓存的版本。提供 Expires 是为了与以前的 ASP 版本兼容。
ExpiresAbsolute:获取或设置将缓存信息从缓存中移除时的绝对日期和时间。提供 ExpiresAbsolute 是为了与以前的 ASP 版本兼容。
Filter:获取或设置一个包装筛选器对象,该对象用于在传输之前过滤HTTP实体主体。
IsClientConnected:指示客户端是否仍连接在服务器上。
Output:返回输出HTTP响应流的文本输出。
OutputStream:返回输出Http内容主体的二进制输出流。
Status:设置返回到客户端的状态栏。
StatusCode:获取或设置返回给客户端的输出的HTTP状态代码,通过HTTP状态代码客户端可以知道服务器端的运行情况。
StatusDescription: 获取或设置返回给客户端的输出的HTTP状态字符串。
SuppressContent :是否将HTTP内容发送到客户端。
方法:
BinaryWrite:将一个二进制字符串写入HTTP输出流。
Clear:清除缓冲区流中的所有内容输出。
ClearContent:清除缓冲区流中的所有内容。
ClearHeaders:清除缓冲区流中的所有头信息。
Close:关闭到客户端的套接字连接。
End:将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 Application_EndRequest 事件。
Flush:向客户端发送当前所有缓冲的输出。Flush方法和End方法都可以将缓冲的内容发送到客户端显示,但是Flush与End的不同之处在于,Flush不停止页面的执行。
2.Request对象实际上操作System.Web命名空间中的HttpRequest类。当客户发出请求执行ASP.Net程序时,客户端的请求信息会包装在Request对象中,这些请求信息包括请求报头(Header)、客户端的机器信息,客户端浏览器信息,请求方法(如POST、GET)、提交的窗体信息等。
Request对象的属性和方法
属性
AcceptTypes:客户端支持的MIME接受类型的字符串数组。
ApplicationPath:服务器上ASP.NET应用程序的虚拟应用程序根路径。
Browser:有关正在请求的客户端的浏览器功能的信息。
ClientCertificate:当前请求的客户端安全证书。
ContentEncoding:或设置实体主体的字符集。
ContentLength :指定客户端发送的内容长度(以字节计)。
ContentType :传入请求的MIME内容类型。
Cookies:客户端发送的cookie的集合
CurrentExecutionFilePath:当前请求的虚拟路径。
FilePath:当前请求的虚拟路径。
Form:窗体变量集合。
Headers:HTTP头集合
IsAuthenticated:是否验证了用户。
HttpMethod:客户端使用的HTTP数据传输方法(如 GET、POST或HEAD)。
IsSecureConnection:HTTP连接是否使用安全套接字(即HTTPS)。
Path:当前请求的虚拟路径。
PhysicalApplicationPath:当前正在执行的服务器应用程序的根目录的物理文件系统路径。
QueryString:HTTP查询字符串变量集合。
PhysicalPath:获取与请求的URL相对应的物理文件系统路径。
RawUrl:当前请求的原始URL。
RequestType:客户端使用的HTTP数据传输方法(GET或POST)。
ServerVariables:获取Web服务器变量的集合。
Url:有关当前请求的URL的信息。
UserAgent:客户端浏览器的用户代理信息
UserHostAddress:客户端的主机地址。
UserHostName:客户端的DNS名称。
UserLanguages:客户端语言首选项的排序字符串数组。
利用Request对象获取客户端表单信息
在Web应用程序中,经常会在一个页面中填入一些信息,然后提交该页面到另外一个执行。通过Request对象可以获得提交的客户端表单的信息。根据用于提交信息方法的不同,Request对象可以分别使用QueryString和Form集合活动客户端的表单信息
利用Request对象获取客户端浏览器信息
通过Request对象的Browser属性可以获得客户端浏览器的信息,该属性实际为一个HttpBrowserCapabilities对象。
利用Request对象获取客户端的机器信息
通过Request对象的属性还可以获取客户端的机器信息,例如通过UserAgent属性获取客户端浏览器的用户代理信息,通过UserHostAddress属性获取客户端的主机地址,通过UserHostName属性获取客户端的DNS名称等。
利用Request对象获取HTTP中的信息
Request对象Headers属性包含了HTTP的头部信息,下面通过介绍如何获得HTTP相关的信息。在这个实例中通过NameValueCollection对象来表示Headers属性返回的集合,由于NameValueCollection类包括在System.Collections.Specialized命名空间中,因此在程序的开始首先要引入System.Collections.Specialized命名空间。NameValueCollection对象的AllKeys属性可以返回所有键Key的数组,对于每一个键Key,可以通过NameValueCollection对象的GetValues方法返回该键Key对应的所有键值。这样通过循环就可以显示Header属性的全部内容了
3.Server对象
Server 对象的属性和方法
属性
MachineName属性:获取服务器的计算机名称。
ScriptTimeout属性:获取和设置请求超时(以秒计)。
Server对象的GetLastError方法可以获得前一个异常,当发生错误时可以通过该方法访问错误信息。通过ClearError方法可以清除前一个异常。
Transfer方法用于终止当前页的执行,并为当前请求开始执行新页。
MapPath方法应用返回与Web服务器上的指定虚拟路径相对应的物理文件路径。
4.Application对象
是一个集合对象,并在整个ASP.NET网站内可用,不同的用户在不同的时间都有可能访问Application对象的变量,因此Application对象提供了Lock方法用于锁定对HttpApplicationState变量的访问以必瞒访问同步造成的问题。在对Application对象的变量访问完成后,需要调用Application的UnLock方法取消对HttpApplicationState变量的锁定。
Application对象的属性和方法
Application有两个事件:Application_OnStart和Application_OnEnd,其中Application_OnStart在ASP.NET应用程序被执行时被触发,Application_OnEnd事件在ASP.NET应用程序结束执行时被触发。
Application对象用来存储变量或对象, 以便在网页再次被访问时(不管是不是同一个连接者或访问者), 所存储的变量或对象的内容还可以被重新调出来使用, 也就是说Application对于同一网站来说是公用的,可以在各个用户间共享。
利用Application对象存取变量时需要注意以下几点:
Application对象变量应该是经常使用的数据,如果只是偶尔使用,可以把信息存储在磁盘的文件中或者数据库中。
Application对象是一个集合对象,它除了包含文本信息外,也可以存储对象。
如果站点开始就有很大的通信量,则建议使用Web.config文件进行处理,不要用Application对象变量。
5.Session对象
Session 对象的属性和方法
属性
Abandon:调用该方法用于消除用户的Session对象并释放其所占的资源。调用Abandon方法后会触发Session_OnEnd事件。
Add:添加新的项到会话状态中。
Clear:用来清除会话状态所有值。
CopyTo:将当前会话状态值的集合复制到一个一维数组中。
RemoveAll: 清除所有会话状态值。
Session对象具有两个事件:Session_OnStart事件和Session_OnEnd事件。Session_OnStart事件在创建一个Session时被触发,Session_OnEnd事件在用户Session结束时(可能是因为超时或者调用了Abandon方法)被调用。
Session对象的惟一性
对于每个用户的每次访问Session对象是唯一的,这包括两个含义:
对于某个用户的某次访问,Session对象在访问期间唯一,可以通过Session对象在页面间共享信息。只要Session没有超时,或者Abandon方法没有被调用,Session中的信息就不会丢失。Session对象不能在用户间共享信息,而Application对象可以在不同的用户间共享信息。
对于用户的每次访问其Session都不同,两次访问之间也不能共享数据,而Application对象只要没有被重新启动,可以在多次访问间共享数据。
Session对象的有效时间
Session对象是有时间限制的,通过TimeOut属性可以设置Session对象的超时时间,单位为分钟。如果在规定的时间内,用户没有对网站进行任何的操作,Session将超时。
6.Cookie对象
Cookie 对象的属性和方法
Domain:获取或设置将此Cookie与其关联的域。
Expires:获取或设置此Cookie的过期日期和时间。
Name :获取或设置Cookie的名称。
Path:获取或设置要与当前Cookie一起传输的虚拟路径。
Secure:指定是否通过SSL(即仅通过 HTTPS)传输Cookie。
Value:获取或设置单个Cookie值。
Values:获取在单个Cookie对象中包含的键值对的集合。












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值