我有一個使用NHibernate和FluentNHibernate的ASP.Net MVC 3網站。大多數情況下,一切運作良好。我最近迷上了Elmah,當我查看日誌時,出現了一些錯誤,其中似乎NHibernate間歇性地返回了空數據以用於應該返回數據的查詢。NHibernate有時候返回null的確切相同的查詢
例如:
MyObject myObject = session.Query<MyObject>()
.Where(m => m.Id == myObjectId && m.UserId == userId)
.Single();
myObjectId
在被傳遞給從鏈路控制器(即MyController/MyAction/1
)另一頁
userId
從我知道作爲用戶登錄存在會話檢索上in。
在一種情況下,用戶嘗試單擊鏈接兩次但收到錯誤頁面。我登錄了,自己嘗試了一下並且工作正常(NHibernate正確地檢索到了這些數據)
基於此,可能出現這種情況的原因是什麼?這是我應該看的配置設置嗎?
以下是有關應用程序的一些詳細信息:
- 使用Asp.Net MVC 3
- SQL Server 2008 R2的
- 用途CastleWindsor注入的Isession到控制器的構造
謝謝!
ISession的生命週期是什麼? – mickfold
LifeStyleType.IsTransient – HighGuard2012