asp.net pipeline #reprinted# -ag凯发k8国际
从asp.net 1.0 起,相比于asp中的com, pipeline 就是一项重大的改进。 asp.net 时代的管道模型究竟是怎么样的?
我们能接触到的四个最重要的概念就是httpapplication, thehttpcontext, the httpmodule, and the httphandler.
the httpapplication
一般来说,一个request 的endpoint是一个http handler。 但是一个handler存在的周期非常的短,比如说我们想缓存一个全局的对象,无法在这个handler 中去长久保存。而httpapplication就有这个作用。
the httpcontext
一个pipe周期中各个过程直接需要传递request的相关信息,就需要这么一个中介。值得注意的是我们并不需要显式的去传递这个httpcontext, 因为这个对象存在于pipeline中可以静态的获得。
the httpmodules
httpmodules
如果说http handler是一个request的终点的话,http modules是所有请求必经之路pipeline的一段路。
首先要注册modules, 一般在web.config. 当然iis的集成模式下,可以用命令行的方式注册。
modules 可以跟踪很多事件,然后在这些事件中处理request.
http modules 和global.asax 的选择
modules的最大好处就是能重用,能编译放到gac里面。
1 如果代码不需要重用, global.asax 足够了
2 如果有特殊需求,比如说 session_start and session_end的事件在modules里面是无法处理的。
the httphandlers
是一个request的endpoint.像aspx,asmx,ashx这些其实就是实现了ihttphandler接口的一些类。
转载于:https://www.cnblogs.com/wushuaiyi/p/4642837.html
总结
以上是ag凯发k8国际为你收集整理的asp.net pipeline #reprinted#的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: