Используя ту же реализацию с разными стилями жизни Виндзор
У меня есть такой класс:
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
использовать другой компонент. Легко.