我刚刚将我所有的 Autofac 包更新到最新版本以获得对 web api 2 的支持。在我的 api 控制器中,我设置了一个构造函数,请求一个服务层类的实例,这与我在所有 mvc 中使用 autofac 的方式相同控制器,它工作正常。
在应用程序启动时执行的 ioc 配置中,我已经注册了 web api 控制器。
builder.RegisterType<UsersApiController>().InstancePerApiRequest();
我也试过
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
但是 autofac 不能与我的 api 控制器一起使用,请求注入服务类的构造函数甚至没有被执行。如果我没有在 api 控制器上包含默认参数少的构造函数,我也会收到错误消息。
web api 2 和 auto fac 是否存在已知问题,还是我遗漏了什么?