HttpHandler与HttpModule的用处与区别
问题1:什么是HttpHandler?
问题2:什么是HttpModule?
问题3:什么时候应该使用HttpHandler什么时候使用HttpModule?
答案1:HttpHandler,Http请求的处理者,例如ScriptHandler、WebServiceHandler,IHttpHandler的实现都是为了处理某一类的请求。如ScriptHandler负责处理对脚本的请求。
答案2:HttpModule,Http模块。实际上就是那19个标准事件的处理者,或者说19个标准事件的订阅者,比如OutputCacheModule,SessionStateModule。详细可以到在这篇文章里面看到http://www.cnblogs.com/kissdodog/p/3527922.html。
一、HttpHandler的职责
1、由于HTTP请求有很多种请求类型,比如请求aspx、html、jpg等等。因此,仅仅由HttpApplication直接处理请求时很臃肿的,而且不利于扩展。因此Asp.net采用了抽象工厂模式来处理这些请求。Asp.net在web.config的架构中,允许我们制定某些请求映射到一个HttpHandlerFactory。