Замок Виндзор стиль жизни вопрос
Я реализую HangFire, который является библиотекой планирования работы в моем проекте.
Я столкнулся с той же проблемой, что и в этой ссылке
Однако после замены 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());
Это установщик контроллера на заводе контроллеров Windsor
public class ControllersInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Classes.FromThisAssembly()
.BasedOn<IController>()
.LifestyleTransient());
}
}
Пожалуйста, дайте мне знать, если требуется какая-либо другая информация.
1 ответ
Смотрите ответ Кшиштофа Козьмича здесь. Ваш IApiHra
компонент, вероятно, имеет PerWebRequestLifestyle
зависимость.