我有一个使用NHibernate和FluentNHibernate的ASP.Net MVC 3站点。在大多数情况下,一切都运作良好。我最近连接了Elmah,当我查看日志时,有一些错误,其中似乎NHibernate间歇性地返回空数据用于应该返回数据的查询。
例如:
MyObject myObject = session.Query<MyObject>()
.Where(m => m.Id == myObjectId && m.UserId == userId)
.Single();
myObjectId
从另一页上的链接传入控制器(即MyController/MyAction/1
)
userId
从我知道存在的会话中检索到用户已登录。
在一种情况下,用户尝试点击两次链接但收到错误页面。我登录后,自己尝试了它并且它有效(NHibernate正确检索数据)
基于此,发生这种情况的原因是什么?这是我应该看的配置设置吗?
以下是有关该应用的更多信息:
谢谢!
答案 0 :(得分:1)
基于此,发生这种情况的原因是什么?
我不是ASP.Net程序员,但可能有多种原因。猜测可能的原因并不是一个好策略。
您需要尝试有条不紊地进行调试,而不是猜测。我首先要更改代码,以便在出现问题时记录更多信息;例如myObjectId
和userId
的值,以及查询Where(m => m.Id == myObjectId)
以查看对象是否存在以及对象的userId
实际上是什么的结果。