日期:2014-05-17  浏览次数:20485 次

HttpModule与Global文件有什么区别和联系?
都是处理19个事件的,有什么区别?

------解决方案--------------------
如果没有什么新鲜的玩意儿,那么它们的差别一定仅仅是“时髦程度”不同呗。某些东西正好适合最近某一段时间asp.net坑爹的版本里炒一下。

这就好比如说有人家里有一位,却整天想着跑到外边去播种。
------解决方案--------------------
如果说有什么最明显的不同,那就是当你需要切换另外一个实现时,前者你需要在web.config里边修改一下所启用的模块的名字;而后者需要你把global.asax换个文件编译。
------解决方案--------------------
global.asax 只能实现5个事件的功能。
HttpModule 能实现一大片。

HttpModule 实现的功能可以通过web.config添加和去除。
global.asax 得编译,虽然可以通过编程配置来实现伸缩功能。
------解决方案--------------------
HttpModel是处理单个文件的。比如你要自定义某个扩展名的处理程序的。

Global.asax是全局处理程序,用于在网站启动结束、请求启动、结束,Session开始/销毁等等。如果添加了这个文件,那网站的任何请求都要首先过它这一关。