Gerenciar configuração de contêiner Autofac
-
22-09-2019 - |
Pergunta
Um dos membros da minha equipe decidiu usar o Autofac em um de nossos serviços e, porque queríamos experimentá -lo, ficamos com ele.
Agora se passou algum tempo e o método de configuração de contêineres cresceu! É tão grande que estamos tendo problemas com isso.
A divisão não trouxe os resultados que procuramos. Talvez estejamos apenas usando errado.
Então, minha pergunta é: como podemos gerenciar a configuração do contêiner? Podemos despejar em XML ou existem outras práticas recomendadas?
Solução
Existem muitas maneiras de gerenciar a configuração de contêineres com o Autofac.
Uma das maneiras mais comuns é usar um Module
e registre -o no construtor. Você pode interromper vários grupos de registro desta maneira:
public class DALModule : Module
{
protected override void Load(ContainerBuilder builder)
{
builder.Register<SomeDataSomething>().As<IDataSomething>();
builder.Register<SomeOtherSomething( c => SomeOtherSomething.Create());
//and so on
}
}
Em seguida, registre esses módulos quebrados no construtor via código ou xml. (uma chamada simples para builder.RegisterModule( new DALModule())
faria isso aqui). Veja a página wiki em Estruturação com módulos.
Ou você pode usar apenas arquivos XML (ou XML e módulos juntos). Veja a página wiki em XML Config por esta.