ASP.NET HttpContext
要想让自己的技术提升,不仅仅是学新的技术,其实最重要的还是要对底层的东西懂多点,才能让自己更好的理解程序的原意,好了废话不多说了,让我们开始.NET开发中的的应用程序对象之旅。
ASP.NET中的核心处理对对象就是:应用程序对象:HttpApplication、HttpContext、以及WEB请求的处理管道和HttpApplication的事件处理方式。
请求的处理参数:(也就是那深奥的难听的--上下文对象:HttpContext)
在这时谈的Http的前期请求流程,当用户在浏览器中输入一个网址,确认后,浏览器开始工作,首先是解析域名,在经过底层的硬件(网卡)的Http协议到达网站的处理服务器,这时就到了服务器。现在应该轮到新对了。
当请求到达ASP.NET服务器时,
为了处理请求ASP.NET在服务器上创建如下的类型对象
HttpRequest对象:创建一个HttpRequest类型的对象以表示请求的参数、
HttpResponse对象:类型的对象以表示回应的处理对象、
HttpServerUtility对象:处理网站的虚拟路径与服务器文件系统路径之间的映射关系
实际上HttpContext就是为了简化服务器端对参数处理的工作,所以才有HttpContext类型来统一处理参数。
针对每一次请求,ASP.NET将创建一个处理这次请求所使用的HttpContext对象的实例,这个对象实例将用来在ASP.NET服务器处理过程中传递所有需要的参数,在请求到达ASP.NET服务器之后,这个对象将被创建,在一次请求之后这个对象将被丢弃。
下面谈谈HttpContext中的常用属性以及说明
HttpContext中的常用属性 类型
属性名称 说明 HttpRequest
Request
请求参数对象
HttpResponse
Response
回应处理对象
HttpServerUtility
Server
服务器实用工具
IDictionary
Items
在服务器处理请求的过程中,通过HttpContext传递到参数的字典
IPrincipal
User
当前请求的用户对象
IHttpHnadler
Handler
处理当前请求的处理程序对象
Cache
Cache
Web服务器的缓存管理对象
HttpSessionState
Session
当前请求的会话状态对象
HttpApplicationState
Application
Web服务器的全局状态管理对象
ProfileBase
Profile
当前请的个性化数据对象
DateTime
Time
当前请开始处理的时间点
讲讲我们常的状态管理对象包括:Appliction、Session、Profile、Cache以及Items。
高级技巧:
HttpContext的底层方法,虽然不常用,但是却很有用哦!
void RewritePath();//将服务器收到的请求替换为另一个指定的URL,主要是在无Cookie会话中使用。
Object GetSection();//获取配置文件中的配置节
void RemapHandler()://重新设置当前的处理程序。
好了关于HttpContext的理解就写到这里,在实际应用开发中理解ASP.NET的请求的与处理的过程对WEB开发有很大的帮助!
我将在一下篇聊聊关于应用程序对象之HttpApplication