gpt4 book ai didi

c# - DependencyResolver.SetResolver 不工作

转载 作者:太空狗 更新时间:2023-10-29 19:55:54 25 4
gpt4 key购买 nike

我正在尝试使用 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。抛出的异常是“没有为此对象定义无参数构造函数。”从“System.Web.Mvc.DefaultControllerActivator.Create”抛出

最佳答案

您忘记注册您的 Controller :

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

关于 Autofac 的更多信息 wiki page

关于c# - DependencyResolver.SetResolver 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19925290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com