Вопрос

Один из членов моей команды решил использовать Autofac на одном из наших услуг, и потому что мы хотели попробовать его, мы застряли с ним.

Теперь прошло некоторое время, и метод настройки контейнера вырос! Это настолько большое, что у нас есть проблемы с этим.

Разделение его не принесло результатов, которые мы искали. Может быть, мы просто используем это неправильно.

Итак, мой вопрос: как мы можем управлять настройкой контейнера? Можем ли мы бросить в XML или есть другие лучшие практики?

Это было полезно?

Решение

Есть много способов управления настройкой контейнеров с помощью AutoFac.

Один из наиболее распространенных способов - использовать Module и зарегистрируйте его с помощью строителя. Таким образом, вы можете разбить несколько групп регистрации:

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

Затем зарегистрируйте эти разбитые модули с помощью застройщика либо через код, либо XML. (простой призыв к builder.RegisterModule( new DALModule()) сделал бы это здесь). Смотрите страницу вики на Структурирование с модулями.

Или вы можете использовать только файлы XML (или использовать XML и модули вместе). Смотрите страницу вики на XML config для этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top