Я хотел бы зарегистрировать две службы, A
& B
, с разными временами жизни.
Мой вариант использования похож на "Браузер" и "Вкладки".
У меня одна область действия в течение времени жизни исполняемого файла (браузера) и одного «subScope» для каждой вкладки.
Я хочу, чтобы A
был единичным в области видимости браузера (время жизни браузера).
Теперь я хотел бы разрешить другой B
, но то же самое A
на каждой вкладке.
Я прочитал документы GitHub, но похоже, что я получу новый A
на каждой вкладке.
Псевдокод будет выглядеть например:
var container = new Container();
container.Register<A>(Reuse.Scoped);
container.Register<B>(Reuse.Scoped);
using (var browserScope = container.OpenScope())
{
using (var tabScope1 = browserScope.OpenScope())
{
var a1 = tabScope1.Resolve<A>();
var b1 = tabScope1.Resolve<B>();
}
using (var tabScope2 = browserScope.OpenScope())
{
var a2 = tabScope2.Resolve<A>();
var b2 = tabScope2.Resolve<B>();
}
}
Я бы хотел, чтобы a1
и a2
были разрешены как один и тот же экземпляр.
Как я могу выполнить sh это?