我正在尝试使用该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"