2009-10-19 17 views
5

Uno dei membri del mio team ha deciso di utilizzare all'autofac su uno dei nostri servizi e perché volevamo provarlo abbiamo bloccato con esso.Gestisci configurazione contenitore autofac

Ora è passato del tempo e il metodo di impostazione del contenitore è cresciuta! È così grande che stiamo avendo problemi con esso.

La scomposizione non ha portato i risultati che cercavamo. Forse lo stiamo semplicemente usando male.

Quindi la mia domanda è: come possiamo gestire l'installazione del contenitore? Possiamo scaricare XML o ci sono altre buone pratiche?

risposta

6

Esistono molti modi per gestire l'installazione del contenitore con autofac.

Uno dei modi più comuni è quello di utilizzare un Module e registrarlo con il costruttore. È possibile suddividere più gruppi di registrazione in questo modo:

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

Quindi registrare questi moduli interrotti con il builder tramite codice o XML. (una semplice chiamata a builder.RegisterModule(new DALModule()) lo farebbe qui). Vedi la pagina della wiki su Structuring with Modules.

In alternativa, è possibile utilizzare solo i file XML (o usare XML e moduli insieme). Vedi la pagina wiki su XML config per questo.

+0

Non riesco a capire come utilizzare un contenitore condiviso tra tutti questi moduli e l'applicazione? Mi potete aiutare? – Laserson

Problemi correlati