2009-10-19 10 views
5

Un membre de mon équipe a décidé d'utiliser autofac sur l'un de nos services et parce que nous voulions l'essayer, nous l'avons fait.Gestion de la configuration du conteneur autofac

Maintenant, un certain temps s'est écoulé et la méthode de configuration du conteneur a grandi! C'est tellement gros que nous avons des problèmes avec ça.

Le fractionnement n'a pas apporté les résultats que nous avons recherchés. Peut-être que nous l'utilisons mal. Donc, ma question est: Comment pouvons-nous gérer la configuration du conteneur? Pouvons-nous exporter en XML ou y a-t-il d'autres bonnes pratiques?

Répondre

6

Il existe plusieurs façons de gérer la configuration du conteneur avec autofac.

L'un des moyens les plus courants consiste à utiliser un Module et à l'enregistrer auprès du constructeur. Vous pouvez briser plusieurs groupes d'inscription ainsi:

public class DALModule : Module 
{ 
    protected override void Load(ContainerBuilder builder) 
    { 
     builder.Register<SomeDataSomething>().As<IDataSomething>(); 
     builder.Register<SomeOtherSomething(c => SomeOtherSomething.Create()); 
     //and so on 
    } 
} 

Alors inscrivez-vous ces modules rompu avec le constructeur, soit par code ou XML. (un simple appel à builder.RegisterModule(new DALModule()) le ferait ici). Voir la page wiki sur Structuring with Modules. Ou, vous pouvez utiliser uniquement des fichiers XML (ou utiliser XML et les modules ensemble). Voir la page wiki sur XML config pour cela.

+0

Je ne comprends pas comment utiliser un conteneur partagé entre tous ces modules et application? Pouvez-vous m'aider? – Laserson

Questions connexes