为什么事件处理程序只能在IHttpModule初始化期间绑定到HttpApplication事件?

Ven*_*emo 10 .net asp.net iis nhibernate iis-7

这只是另一个"在dev服务器上工作,为什么不在IIS中工作"类型的问题.

我使用NHibernate创建了一个很好的DAL,如此处所述.在创建ISession时,我将事件处理程序连接到HttpApplication.EndRequest以负责清理它.

但是,我将我的站点部署到IIS,它说:

事件处理程序只能在IHttpModule初始化期间绑定到HttpApplication事件.

我完全理解这条消息的内容,但我无法解释为什么.

我可以随时订阅一个Button活动,为什么我不能订阅一个活动HttpApplication

如果有人能够对此有所了解,我将非常感激.

我也想知道,为什么它与开发服务器合作而不是IIS 7?

编辑:现在两个月过去了,我还没有收到任何有用的答案.:(
这个问题真的很难吗?

Mau*_*fer 4

您正在尝试在初始化管道之外使用 HttpApplication。只是不要这样做。正如错误所示,请在 IHttpModule 初始化期间绑定事件。

  • 你好。这并没有错,但我投了反对票,因为它不是问题的答案:“为什么?” (3认同)
  • @MauricioScheffer 但是以这种方式构建 ASP.Net 的基本原理是什么?你没有回答维尼莫的问题。 (2认同)