官方文件说:
如果ActiveRecord在ASP.Net应用程序中运行,则必须添加值为true的此属性
所以很自然地我打开它并立即注意到那些使用ActiveRecord访问数据库崩溃的后台线程(使用Quartz.net)因为他们在没有HttpContext时尝试访问HttpContext。
显然官方的“解释”缺乏解释部门!所以考虑到我上面提到的要点, isWeb是什么以及为什么要打开它?
答案 0 :(得分:3)
isWeb="true"
只是threadinfotype="Castle.ActiveRecord.Framework.Scopes.WebThreadScopeInfo, Castle.ActiveRecord"
WebThreadScopeInfo仅使用 HttpContext作为会话镜像存储。如果您的代码需要在任何HttpContext之外使用ActiveRecord(例如Quartz.Net作业),请改用HybridWebThreadScopeInfo
。定义要使用的特定threadscopeinfo类时,无需设置isWeb
。