Для чего нужен атрибут isWeb в замке ActiveRecord - PullRequest
2 голосов
/ 17 сентября 2010

Официальная документация гласит:

Если ActiveRecord работает в приложении ASP.Net, вы должны добавить этот атрибут со значением true

Так что, естественно, я повернулсяон сразу же заметил, что те фоновые потоки (использующие Quartz.net), которые используют ActiveRecord для доступа к сбою базы данных, потому что они пытаются получить доступ к HttpContext, когда HttpContext отсутствует.объясняющий отдел!Итак, учитывая пункты, которые я упомянул выше, для чего нужен isWeb и зачем мне его включать?

1 Ответ

3 голосов
/ 17 сентября 2010

isWeb="true" - это просто сокращение для threadinfotype="Castle.ActiveRecord.Framework.Scopes.WebThreadScopeInfo, Castle.ActiveRecord"

WebThreadScopeInfo использует только HttpContext в качестве хранилища сессий.Если у вас есть код, который должен использовать ActiveRecord вне какого-либо HttpContext (например, задания Quartz.Net), используйте взамен HybridWebThreadScopeInfo.Когда вы определяете конкретный класс threadscopeinfo для использования, нет необходимости устанавливать isWeb.

...