我们使用Active Record作为数据库抽象开发ASP.NET 4.0 / MVC 3 Web应用程序。
为了能够在视图中使用延迟关系,我们使用ActiveRecord文档here中的SessionScopeWebModule。
应用程序在我们当前的 Win 2003 / IIS 6计算机上正常运行,但仅在我们的新Win 2008 R2 / IIS 7.5上,当控制器或视图尝试访问惰性关系时,它会抛出LazyInitializationException 。在更改为手动会话处理之后(也在上面的doc链接中进行了解释),它再次起作用。
我想知道区别是什么,因为手册指出两种方法基本上都是一样的。
答案 0 :(得分:0)
在集成管道中运行IIS 7+中的ASP.NET应用程序时,需要在web.config的system.webServer / modules部分注册http模块。
对于IIS 6和IIS 7 + see this article,可以有一个web.config。
否则,在经典管道模式下运行,它的行为与在IIS 6中一样。