HttpModel和HttpHanlder的区别

来源:互联网 发布:无人机蜂群 结构数据 编辑:程序博客网 时间:2024/06/18 12:50

设计HttpHanlder的目的很明确:生成响应结果。

HttpApplication,HttpHanlder和HttpModule,这里再把三者的关系重新梳理一遍。


在请求的处理过程中,HttpApplication对象主要扮演着控制管线处理流程的作用,它负责推进整个处理流程,除了在不同阶段引发不同的事件外(供HttpModule使用),HttpApplication对象还会根据当前请求寻找一个合适的IHttpApplicationFactory实例,并最终得到一个IHttpHandler的实例用于处理请求。


设计这三种类型的目的在于:

1. HttpApplication控制处理流程,在不同阶段引发不同的事件。
2. 由于请求的多样性,每个请求会由一个HttpHandler对象来处理。
3. 对于一些通用性的功能,尤其是与响应内容无关的,设计成HttpModule是最合适的。


如果还没有看明白,那我就最后告诉你一个识别方法:
1. 如果要响应一类请求,那么就选择HttpHandler。
2. 如果要修改或者检查所有请求(总之就是不生成响应结果),那就选择HttpModule。