我正在尝试使用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"
答案 0 :(得分:18)