Autfac frage zu LiftTimeScops
-
Hallo Leute,
ich habe 3 Componenten, welche ich in meine DI (Autofac 2.4.xx) Container registiere:
var Builder = new ContainerBuilder(); Builder.RegisterType<A>(). SingleInstance(); Builder.RegisterType<B>() .SingleInstance(); Builder.RegisterType<C>() .SingleInstance(); var Container = Builder.Build();
nun möchste ich dass bei erzeigen eine neue LifeTimeScops imm ein neues Singelton der entsprechenden Komponente erzeugt wird.
using (ILifetimeScope scope = Container.BeginLifetimeScope()) { var foo= scope.Resolve<C>(); // C wurde erzeugt } // Hier müsste C "Disposed" werden oder ? Wird es aber nicht.
wenn ich nun nochmal eine LifeTimeScope erzeuge mit
using (ILifetimeScope scope = Container.BeginLifetimeScope()) { var foo2= scope.Resolve<C>(); // sollte hier erneut C instaziier werden, was aber nich passiert } // Hier müsste C "Disposed" werden oder ? Wird es aber nicht.
Was mache ich falsch?
Danke für euere Hilfe
-
Sorry, war etwas zu vorschnell
Registierung via
Builder.RegisterType<...>() .InstancePerLifetimeScope();
und es klappt;)
2 von 2