Опитвам се да настроя контейнера на ново приложение, като използвам метода 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