我有Asp.Net MVC2(.Net 4.0)网站。它使用NHibernate 3.0 + Fluent NHibernate。我想将它部署在远程服务器上
当我在本地使用远程数据库的连接字符串运行它时,一切正常。当我部署它并使用浏览器查看时,它可以正常工作。我还可以在网站上注册新用户(它在会员表和附加表中创建记录)。我可以看到我在注册时输入的所有用户信息。到目前为止一切都还可以
然后我尝试修改配置文件中的一些信息,但(!!!)页面刷新后我看到旧数据。所以,数据库中没有任何变化。真是......“嗯,INSERT有效,但不是更新”, - 我想
然后我尝试使用Log4Net设置日志记录,但它不会创建日志文件。需要注意的是,一切都在当地运作良好
我找到了这篇文章"Security" problem with NHibernate on deployed web application,但是在主机的控制面板中我找到了“CAS信任级别:完整”。
我绝望了。发布您的所有想法,一切都可能有用。
答案 0 :(得分:0)
所以,我自己解决了这个问题。问题出在NHibernate上。我使用open-session-for-each-request最佳实践,并且应该在每个HTTP会话端刷新NHibernate会话。 Strage,但事实并非如此。我在session.Flush(); session.Clear();
和SaveOrUpdate()
方法中添加了Update()
。现在它正确地工作
所以,我不明白这种行为。有什么想法吗?