Nhibernate不在Win Server 2008上更新级联关系

我们使用NHibernate和Fluent映射来构建WebForms应用程序。 在我们的模型中,我们与
Cascade.All()
集有一个简单的
References
关系。当我们保存实体时,NH按预期运行,1)保存引用的实体,2)更新设置子键的父实体。 但是,将相同版本部署到我们的生产服务器(Win Server 2008)并将应用程序指向同一个数据库会产生不同的输出。 NH 1)保存被引用的实体和..而且......就是这样,没有其他事情发生! 我知道我们的测试和生产环境应该是相同的等等。但我们现在正在部署,我根本无法弄清楚这是如何发生的。 在Win 2008 Server中有关于程序集权限或类似问题的NH有任何已知问题吗?看起来代理由于某种原因无法正常工作,但我真的不知道为什么! 编辑1:分析NH日志文件我可以发现NH没有注意到Win Server 2008中引用的属性发生了变化。为什么?不知道,但它看起来越来越像代理问题。 任何帮助都非常感谢。 菲利佩     
已邀请:
我终于找到了导致问题的原因。 NH没有更新关系,因为它没有涉及报表的交易。 在第一眼看起来它看起来不合逻辑,但是在其他情况下,如果你打开一个事务,NH只能正常运行(例如:NHibernate FlushMode Auto Not Flushing Before Find)。我们在另一个项目中遇到过这种情况,这个理论很合适。 但是Windows Server 2008怎么样?实际上,问题出在我们的IIS 7. web.config文件中。当我们使用OpenSessionInView设计的自动事务控制时,我们注册了一个
httpModules
项。但是在IIS 7中我们必须注册一个
modules
项目,而我们没有它。由于它没有配置,我们没有交易,没有交易的东西不起作用。 获得的经验教训#1:在使用NHibernate时,事务必须进行。 获得的教训#2:永远不要禁用IIS兼容性消息(为什么有人这样做?)。 菲利佩     

要回复问题请先登录注册