ASP.NET网站部署问题

发布于 2024-11-06 07:24:26 字数 581 浏览 0 评论 0原文

我有 Asp.Net MVC2 (.Net 4.0) 网站。它使用 NHibernate 3.0 + Fluent NHibernate。我想将其部署到远程服务器上。
当我使用远程数据库的连接字符串在本地运行它时,一切正常。当我部署它并使用浏览器查看时,它工作正常,没有错误。我还可以在网站上注册新用户(它在会员表和附加表中创建记录)。我可以看到我在注册期间输入的所有用户信息。此刻一切都好。
然后我尝试修改个人资料中的一些信息,但是(!!!)刷新页面后我看到旧数据。因此,数据库中没有任何变化。多棒啊...“嗯,INSERT 有效,但 UPDATE 不行”,- 我想。
然后我尝试使用 Log4Net 设置日志记录,但它不会创建日志文件。需要注意的是,本地一切正常。
我发现这篇文章 已部署的 Web 应用程序上 NHibernate 的“安全”问题,但在主机的控制面板中我发现“CAS信任级别:完全”。
我很绝望。发布您所有的想法,一切都可能有用。

I have Asp.Net MVC2 (.Net 4.0) site. It uses NHibernate 3.0 + Fluent NHibernate. I want to deploy it on remote server.
When I run it locally with connection string of the remote database, everything is ok. When I deploy it and look using browser it works without errors. I also can register new user on the web site (it creates record in membership tables and in additional table). I can see all the user information, that I entered during registration. By this moment everything is ok.
Then I try to modify some info in profile but (!!!) after page refreshing I see old data. So, nothing changes in the database. What a... "Hm, INSERT works, but UPDATE not", - I thought.
Then I tried to set up logging using Log4Net, but it doesn't creates log file. Nesessary to note, that everything works fine locally.
I found this article "Security" problem with NHibernate on deployed web application, but looking in the control panel of the hosting I found "CAS trust level: Full".
I am in despair. Post all of your ideas, everything might be useful.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一指流沙 2024-11-13 07:24:26

所以,我自己解决了。问题出在 NHibernate 中。我使用针对每个请求打开会话的最佳实践,并且 NHibernate 会话应该在每个 HTTP 会话端刷新。斯特雷奇,但事实并非如此。我添加了 session.Flush(); session.Clear(); 到我的 SaveOrUpdate()Update() 方法。现在它可以正常工作了。
所以,我不理解这种行为。有什么想法吗?

So, I've solved it by myself. The problem was in NHibernate. I use opening-session-for-each-request best practice and NHibernate session should be flushed on every HTTP session end. Strage, but it is not. I added session.Flush(); session.Clear(); to my SaveOrUpdate() and Update() methods. Now it works correcly.
So, I don't understand such behaviour. Any ideas?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文