简单的注入器和策略模式(根据请求注册依赖运行时)

时间:2017-11-29 13:38:11

标签: c# dependency-injection simple-injector

我正在研究Simple injector DI库。我需要关于如何注册在多个提供程序(组件)中使用的接口的好主意。

以下是我的要求。

这是Web API项目,我有一个BaggageController类,它将获得Add Baggage操作的请求。基于请求的提供者,我必须将请求路由到相关的类。提供者可以是Airline AAirline B

从客户请求AddBaggage(BaggageRequest,Provider) - > BaggageController - > Business.Baggage.Implementation(Decision) - >呼叫提供商A. - >致电提供商B

以下是我使用Simple injector注册的代码。

container.Register<IBaggageService, BaggageService>(Lifestyle.Scoped);
container.Register<IFlightService, ProviderA>(Lifestyle.Scoped);
// This next line throws an error as IFlightService is already registered.
container.Register<IFlightService, ProviderB>(Lifestyle.Scoped);

由于我的决定将在运行时进行,因此我无法使用RegisterConditional方法。

有没有其他方法可以在运行时使用Simple Injector注册依赖项?

0 个答案:

没有答案