public static void ConfigureContainer() { // получаем экземпляр контейнера var builder = new ContainerBuilder(); // регистрируем контроллер в текущей сборке builder.RegisterControllers(typeof(MvcApplication).Assembly); // регистрируем споставление типов builder.RegisterType<EFRepository>().As<IRepository>() .WithParameter("context", new EFDbContext()); EmailSettings emailSettings = new EmailSettings { WriteAsFile = bool.Parse(ConfigurationManager .AppSettings["Email.WriteAsFile"] ?? "false") }; builder.RegisterType<EmailQueryProcessor>().As<IQueryProcessor>().WithParameter("settings", emailSettings); /* ninjectKernel.Bind<IOrderProcessor>() .To<EmailOrderProcessor>() .WithConstructorArgument("settings", emailSettings); */ // создаем новый контейнер с теми зависимостями, которые определены выше var container = builder.Build(); // установка сопоставителя зависимостей DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }
public EmailQueryProcessor(EmailSettings settings) { emailSettings = settings; }