Autofac WebAPI公共服务定位器

本文关键字:定位器 公共服务 WebAPI Autofac | 更新日期: 2023-09-27 18:07:26

所以阅读Autofac关于使用WebApi的文档,它说:

在OWIN集成中一个常见的错误是使用GlobalConfiguration.Configuration

我有一个使用IMediatorBaseController,并从容器中获得一个实例,我使用GlobalConfiguration.Configuration.DependencyResolver.GetService()

如果我不使用GlobalConfiguration,我有什么其他的选择来注入IMediator

最好不要使用构造函数注入,因为这样其他api控制器就不需要构造函数了,因为IMediator很少需要。

我看过属性注入,但我无法理解如何在web api场景中集成它,我使用builder.RegisterApiControllers,它看起来不像在基本控制器上集成属性注入适合这种方法。

Autofac WebAPI公共服务定位器

builder.RegisterApiControllers()返回IRegistrationBuilder,这意味着您可以从那里继续自定义控制器注册。例如,如果你需要对你的控制器应用属性注入,你可以使用以下代码:

builder.RegisterApiControllers().PropertiesAutowired();