DependencyResolver.SetResolver不工作

时间:2013-11-12 09:23:08

标签: c# asp.net-mvc-5 autofac

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

1 个答案:

答案 0 :(得分:18)

您忘了注册您的控制器:

b.RegisterControllers(typeof(MvcApplication).Assembly);

有关Autofac wiki page

的更多信息