Используя ту же реализацию с разными стилями жизни Виндзор

У меня есть такой класс:

public FooRepo : IFooRepo
{
   public FooRepo(IDbContextFactory factory)
   {
      context = factory.GetContext();
   }
}

В моем приложении я регистрирую все с LifeStyle.PerWebRequest, но теперь мне нужно вызвать один метод, который использует это IFooRepo вот так (потому что это займет около часа):

{
 ...
    ThreadPool.QueueUserWorkItem(s => RequestReport(number));
 ...
}
private void RequestReport(int number)
{
// IFooRepo needed here
}

проблема в том что мне это нужно IFooRepo с образом жизни PerWebRequest большую часть времени, и мне нужно было здесь, в теме, также остаться в живых, также у него есть зависимость IDbContextFactory который я не знаю, если мне нужно зарегистрировать это также по-другому

1 ответ

Решение

Ну тогда зарегистрируй свой FooRepo дважды и настройте переопределение службы для тех, кто использует в ThreadPool использовать другой компонент. Легко.

Другие вопросы по тегам