2011-08-21 120 views
0

我们开发了一个ASP.NET 4.0/MVC 3 Web应用程序,使用Active Record作为数据库抽象。LazyInitializationException升级到IIS 7.5后

为了能够在视图内使用惰性关系,我们使用ActiveRecord文档here中的SessionScopeWebModule。

2003/IIS 6的机器,但仅限于我们的新胜利2008 R2 /我们目前的运工作正常的应用程序IIS 7.5,它抛出一个LazyInitializationException中,当一个控制器或视图试图访问一个懒惰的关系。在更改为手动会话处理(也在上面的文档链接中解释)之后,它再次运行。

我不知道有什么区别,因为手册中指出两种方法的功能基本相同。

+0

你注册下system.webServer /模块的网络模块?你在使用集成还是经典管道? –

+0

嗨,请提供此作为答案 - 配置IIS以显示有关500错误的详细信息告诉我关于同样的事情。有没有办法编写iis7集成和iis6兼容的Web.config文件? – Tarnschaf

回答

0

在集成管道中的IIS 7+中运行ASP.NET应用程序时,需要在web.config的system.webServer/modules部分下注册http模块。

对于IIS 6和IIS 7+,see this article,可能只有一个web.config。

否则,经典管道模式下运行,它的行为就像在IIS 6