Я реализую hangFire, который является библиотекой планирования заданий в моем проекте.Замок windsor образ жизни вопрос
я столкнулся такая же проблема, как столкнулись в этом link
Однако после замены LifestylePerWebRequest()
с HybridPerWebRequestTransient()
я все еще получаю то же сообщение об ошибке:
HttpContext.Current равна нулю. PerWebRequestLifestyle может быть использован только в ASP.Net
Вот несколько строк моего установщика зависимостей:
container.Register(Component.For<IApiHra>()
.ImplementedBy(typeof(ApiHra))
.LifeStyle.HybridPerWebRequestTransient()
.IsFallback());
container.Register(Component.For<IApiHraComment>()
.ImplementedBy(typeof(ApiHraComment))
.LifestylePerWebRequest()
.IsFallback());
Это инсталлятор контроллера в Виндзоре контроллер заводе
public class ControllersInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Classes.FromThisAssembly()
.BasedOn<IController>()
.LifestyleTransient());
}
}
Пожалуйста, дайте я знаю, требуется ли какая-либо другая информация.
Мне кажется, что IApiHraComment по-прежнему имеет LifestylePerWebRequest. Поэтому, если эти компоненты разрешены из контейнера без Http.Context, я ожидаю, что он будет метаться. Вы можете найти в сообщении об ошибке, какой компонент вызывает исключение? – Marwijn
Фактически я использую только 'IApiHra'. У этого есть и другие зависимости, я попытался сделать их все гибридами, но он не сработал. 'IApiHra' вызывает исключение – SJMan
@SJMan Вы когда-нибудь это понимали? –