Autofac WebAPI 公共服务定位器

Autofac WebAPI Common Service Locator

所以阅读 Autofac documentation 关于将它与 WebApi 一起使用,它说:

A common error in OWIN integration is use of the GlobalConfiguration.Configuration

我有一个 BaseController,它使用 IMediator 并从容器中获取一个实例,我使用 GlobalConfiguration.Configuration.DependencyResolver.GetService().

如果我不使用 GlobalConfiguration,我还有哪些其他选项可以注入 IMediator

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

我看过 属性 注入,但我不明白如何将它集成到网络 api 场景中,我使用 builder.RegisterApiControllers 但它看起来不好像在基本控制器上集成 属性 注入适合这种方法。

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

builder.RegisterApiControllers().PropertiesAutowired();