是否可以基于请求参数注入范围内的依赖项?

时间:2019-07-08 13:04:37

标签: .net-core

我正在尝试建立一个多租户应用程序,其中后端根据请求区域设置与同一服务的多个环境进行对话。由于这些环境各自具有自己的客户端,因此我目前拥有一个ClientProvider类,该类为每种语言环境返回正确的客户端。但是,这使我到处都有ClientProvider.ProvideForLocale()调用,这使IMO代码变得肿。

相反,我想使用DI框架基于请求中提供的语言环境注入请求范围内的客户端,但是我似乎不知道该怎么做。这有可能吗?

1 个答案:

答案 0 :(得分:0)

依赖项注入的整个目的是将这些依赖项注入到对象的构造函数中。我假设您的应用程序是基于MVC的API。对于MVC应用程序,将调用该构造函数,并在处理任何请求之前注入所有依赖项。

如果要减少代码膨胀,请查看OnActionExecuting事件。我认为它将满足您的要求。

您可以在此处查看之前的堆栈溢出文章: Execute code before/after every controller action