Autofac WebAPI公共服务定位器
本文关键字:定位器 公共服务 WebAPI Autofac | 更新日期: 2023-09-27 18:07:26
所以阅读Autofac关于使用WebApi的文档,它说:
在OWIN集成中一个常见的错误是使用GlobalConfiguration.Configuration
我有一个使用IMediator
的BaseController
,并从容器中获得一个实例,我使用GlobalConfiguration.Configuration.DependencyResolver.GetService()
。
如果我不使用GlobalConfiguration
,我有什么其他的选择来注入IMediator
。
最好不要使用构造函数注入,因为这样其他api控制器就不需要构造函数了,因为IMediator
很少需要。
我看过属性注入,但我无法理解如何在web api场景中集成它,我使用builder.RegisterApiControllers
,它看起来不像在基本控制器上集成属性注入适合这种方法。
builder.RegisterApiControllers()
返回IRegistrationBuilder
,这意味着您可以从那里继续自定义控制器注册。例如,如果你需要对你的控制器应用属性注入,你可以使用以下代码:
builder.RegisterApiControllers().PropertiesAutowired();