日期:2014-05-18  浏览次数:20494 次

IHttpModule和Global.asax有什么区别
使用这两种方式进行会话前的信息初使化,二者有什么区别,使用何种方式更好?

------解决方案--------------------
mark,你可以trace一下,看哪个先执行
------解决方案--------------------
没啥区别 把IHttpModule里几个事件挑出来就成了Global
------解决方案--------------------
换句话说global能实现的 通过httpmodule也都能实现
------解决方案--------------------
没啥区别。
放在IHttpModule中更清晰一点。
放在Global.asax中更简单,快捷一点
------解决方案--------------------
Global.asax 是应用程序级的

------解决方案--------------------
这个问题 已经有人问过了啊

在重复一下吧

HTTP 模块与 Global.asax 文件
可以在应用程序的 Global.asax 文件中实现模块的许多功能,这使您可以响应应用程序事件。但是,模块相对于 Global.asax 文件具有如下优点:模块可以进行封装,因此可以在创建一次后在许多不同的应用程序中使用。通过将它们添加到全局程序集缓存 (GAC) 并将它们注册到 Machine.config 文件中,可以跨应用程序重新使用它们。有关更多信息,请参见全局程序集缓存。

但是,使用 Global.asax 文件有一个好处,那就是您可以将代码放在其他已注册的模块事件(如 Session_Start 和 Session_End 方法)中。此外,Global.asax 文件还允许您实例化可在整个应用程序中使用的全局对象。

当您需要创建依赖应用程序事件的代码并且希望在其他应用程序中重用模块时,或者不希望将复杂代码放在 Global.asax 文件中时,应当使用模块。当您需要创建依赖应用程序事件的代码但不需要跨应用程序重用它时,或者需要订阅不可用于模块的事件(如 Session_Start)时,应当将代码放在 Global.asax 文件中。
------解决方案--------------------
ls,说的全面
------解决方案--------------------
Global.asax常用些,方便些
------解决方案--------------------
Global.asax 是在一个web应用程序下的
httpmodule 可以 分离出来 不同的应用程序重复利用。