Я пытаюсь установить контейнер в новом приложении, используя метод Dependency.SetResolver
и используя autofac с интеграцией autofac mvc 5.
Проблема в том, что настройка распознавателя, похоже, ничего не делает. Преобразователь по умолчанию будет использоваться всегда и всегда будет ожидать конструктор по умолчанию.
Любые идеи?
Изменить - global.asax.cs
, я упростил его до:
var b = new ContainerBuilder();
b.RegisterType<UserInfo>().As<IUserSession>().InstancePerHttpRequest();
var container = b.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
И HomeController
принимает IUserSession
в своем конструкторе. Возникшее исключение: "No parameterless constructor defined for this object." Thrown from "System.Web.Mvc.DefaultControllerActivator.Create"
Dependency.SetResolver
! Также ваша конфигурация контейнера, конструктор вашего контроллера и сообщение об исключении! - person nemesv   schedule 12.11.2013SetResolver
исключение или это когда контроллер разрешается? Если вы отлаживаете программу и выясняете, что такоеDependencyResolver.Current
, это преобразователь по умолчанию илиAutofacDependencyResolver
? (У меня такое чувство, что заголовок вопроса неверен - я думаю, что разрешение не работает, а не вызовSetResolver
.) - person Travis Illig   schedule 13.11.2013