2010-09-17 56 views
2

官方單證說:什麼是isWeb屬性在城堡的ActiveRecord

如果ActiveRecord的是在ASP.Net應用程序運行時,必須使用值true

所以很自然的添加此屬性我打開它並立即注意到那些使用ActiveRecord的後臺線程(使用Quartz.net)訪問數據庫崩潰,因爲它們在沒有HttpContext時嘗試訪問HttpContext。

顯然官方的「解釋」在解釋部門缺乏!因此,考慮到我上面提到的幾點,isWeb是什麼,爲什麼我應該打開它?

回答

3

isWeb="true"只是簡寫threadinfotype="Castle.ActiveRecord.Framework.Scopes.WebThreadScopeInfo, Castle.ActiveRecord"

WebThreadScopeInfo使用的HttpContext作爲sessionscope存儲。如果您的代碼需要在任何HttpContext之外使用ActiveRecord(例如Quartz.Net作業),請改爲使用HybridWebThreadScopeInfo。當您定義要使用的特定threadscopeinfo類時,不需要設置isWeb

相關問題