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();
所以阅读 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();