2009-10-19 14 views
5

Uno de los miembros de mi equipo decidió usar autofac en uno de nuestros servicios y, como queríamos probarlo, nos aferramos a él.Administrar la configuración del contenedor autofac

¡Ahora ha pasado un tiempo y el método de configuración del contenedor ha crecido! Es tan grande que estamos teniendo problemas con eso.

Dividirlo no dio los resultados que buscamos. Tal vez solo lo estamos usando mal.

Así que mi pregunta es: ¿cómo podemos gestionar la configuración del contenedor? ¿Podemos volcar en XML o hay otras mejores prácticas?

Respuesta

6

Hay muchas formas de administrar la configuración del contenedor con autofac.

Una de las maneras más comunes es usar un Module y registrarlo con el constructor. Puede dividir múltiples grupos de la inscripción de esta manera:

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

Luego registrar estos módulos roto con el constructor, ya sea a través de código o XML. (una simple llamada al builder.RegisterModule(new DALModule()) lo haría aquí). Vea la página de la wiki en Structuring with Modules.

O bien, puede usar solo archivos XML (o usar XML y módulos juntos). Vea la página de la wiki en XML config para esto.

+0

No puedo entender cómo usar un contenedor compartido entre todos estos módulos y la aplicación? ¿Me puedes ayudar? – Laserson

Cuestiones relacionadas