2017-07-26 1 views
0

je le texte suivant:Autofac override injectent

containerBuilder.RegisterType<CustomContext>() 
       .As<CustomContext>() 
       .InstancePerLifetimeScope(); 
containerBuilder.RegisterType<CustomContext>() 
       .As<BaseContext>() 
       .InstancePerLifetimeScope(); 

public class BaseContext : DbContext 
{ 

} 

public class CustomContext : BaseContext 
{ 
} 

Ce que je suis en train de réaliser est à chaque fois BaseContext est injecté dans le constructeur d'un service pour passer l'instance de CustomContext qui est créée en utilisant l'containerBuilder.RegisterType<CustomContext>().As<CustomContext>().InstancePerLifetimeScope(); et ne pas créer un nouveau.

Actuellement, à chaque création d'une étendue de durée de vie, j'ai deux instances de CustomContext autour.

Répondre

2

Avez-vous essayé?

containerBuilder.RegisterType<CustomContext>() 
       .As<CustomContext>() 
       .As<BaseContext>() 
       .InstancePerLifetimeScope(); 
+0

Oui !. C'est exactement ce que je cherche. Merci d'avoir lu la question. – pantonis