2011-05-09 300 views
0

我有Asp.Net MVC2(.Net 4.0)网站。它使用NHibernate 3.0 + Fluent NHibernate。我想将它部署在远程服务器上。
当我使用远程数据库的连接字符串在本地运行它时,一切正常。当我部署它并使用浏览器时,它可以正常工作。我也可以在网站上注册新用户(它会在会员表格和附加表格中创建记录)。我可以看到我在注册时输入的所有用户信息。这一刻,一切都很好。
然后我尝试修改配置文件中的一些信息,但页面刷新后(!!!)我看到旧数据。所以,数据库中没有任何变化。真是......“嗯,插入工作,但不更新”, - 我想。
然后我尝试使用Log4Net设置日志记录,但它不创建日志文件。需要注意的是,一切都在当地正常工作。
我发现这篇文章"Security" problem with NHibernate on deployed web application,但看在主机的控制面板我发现“CAS信任级别:完整”。
我绝望了。发布你的所有想法,一切都可能有用。ASP.NET网站部署问题

回答

0

所以,我已经自己解决了。问题出现在NHibernate中。我使用每个请求开放会话的最佳做法,并且应该在每个HTTP会话结束时刷新NHibernate会话。平淡无奇,但事实并非如此。我在我的SaveOrUpdate()Update()方法中添加了session.Flush(); session.Clear();。现在它正常工作。
所以,我不明白这样的行为。有任何想法吗?