HttpContext的作用

HttpContext 都起到什么作用:

1、声明的周期:从用户开始发送请求到服务器处理完成请求并且生成内容返回到客户端为止。(就是你点击一个按钮或者链接,直到你看到所点链接呈现出来的页面内容)这么说比较好理解了!

      备注:根据每个不同用户的请求,服务器都会创建一个新的HttpContext实例,直到请求结束为止,服务器销毁这个实例。

2、HttpContext的作用:处理请求的属性:Request、Response、Service等。其实我们在开发asp.net页面的时候,可以直接使用Request、Response......这些类,为什么要通过HttpContext类来方位呢?原因是这样的,(Request等这些类可以在asp或者aspx页面代码中直接使用,但是在IHttpModule或者IHttpHandler中就不能直接使用了。这是因为要在特殊场合访问Request等。因为HttpContext类对Request、Response、Service等都进行了封装,并且保证了在整个请求周期内可以随时随地的调用)这个也好理解吧。

3、这里我们简单了解一下IHttpModule和IHttpHandler: 

     备注:①IHttpModule和②IHttpHandler在页面声明周期中这两个是很重要的接口。

              ①在系统中的HttpModul类也实现了IHttpModule这个接口,然后请求管道注册了19个事件。当然,咱程序员也可以自己写一个类,让这个类事件IHttpModule接口,然后在实现int()这个方法,在这个方法中可以请求上下文注册19个事件,从而达到19个事件为我们所用。IHttpModule相当于是一个吸尘器(这么说是不是不好哈哈)无论什么请求(asp、html、rar)等都会经过HttpMoudle过滤器。实现IHttpMoudle接口的类,是应用程序基,而不是页面级。

HttpModule处理被截成两块,一块在HttpHandler之前执行,一块在HttpHandler之后执行。

             ②HttpHandler是一般处理程序。可以对请求做真的处理。不会对静态请求做处理。

                实现IHttpHandler接口的类,必须时间 Is Reusable属性(一般返回true)和ProcessRequest()方法。

                在ProcessRequest()方法中可以得到请求上下文(context),对请求做处理。

                可以使用HttpHanler做验证码、图片防盗、压缩图片处理等。

4、HttpContext其他功能:HttpContext还可以处理CacHe、HttpContext.Item等,在其生命周期内可以存储一些临时数据,方便随时调用。

      我们在深入了解一下HttoContext:

      当用户发送某个Http请求,我们可以通过HttpContext进行截获,查看里面包含了那些请求的信息,然后可以进行一系列的操作,比如说切换到其他的页面,这个时候可以重组请求数据满足新页面的要求。即是不在page页面中,也可以通过HttpContext的Current这个属性来获取当前的web状态。当然了,要想完全理解HttpContext,我们还需要了解很多知识。比如Cache(即告诉缓存存储器(Cache Memory))、Profile(用户配置文件),IHttpHander,IHttpModule。这些知识一定要在实践中才能理解的更加深入。 

原文:https://blog.csdn.net/a781230152/article/details/78317876 
 

猜你喜欢

转载自blog.csdn.net/qq_25086397/article/details/89876469