.net-core - 是否可以根据请求参数注入作用域依赖项?
问题描述
我正在尝试设置一个多租户应用程序,其中后端根据请求区域设置与同一服务的多个环境进行对话。因为这些环境都有自己的客户端,所以我目前有一个ClientProvider
类可以为每个语言环境返回正确的客户端。但是,这让我ClientProvider.ProvideForLocale()
到处打电话,这有点使代码 IMO 膨胀。
相反,我想使用 DI 框架根据请求中提供的语言环境注入一个请求范围的客户端,但我似乎不知道该怎么做。这甚至可能吗?
解决方案
依赖注入的全部目的是将这些依赖注入到对象的构造函数中。我假设您的应用程序是基于 MVC 的 API。对于 MVC 应用程序,调用该构造函数并在处理任何请求之前注入所有依赖项。
如果您想减少代码膨胀,请查看 OnActionExecuting 事件。我认为它会做你想要的。
您可以在此处查看以前的 Stack Overflow 帖子: 在每个控制器操作之前/之后执行代码
推荐阅读
- asp.net - 如何首先使用代码使用共享数据库
- json - 从 JSON blob 读取 unicode 文本时遇到问题。如何才能做到这一点?
- sparql - 在 Sparql 中查询距离单位 - Wikidata 示例
- visual-studio - Visual Studios Add on ToolWindowControl 在哪里保存用户设置?
- flatbuffers - 使用 flatbuffers 结构作为键
- html - 使用 CSS Grid 的动态高度
- onedrive - 使用 Microsoft OneDrive REST API 时身份验证令牌无效
- laravel - 如何使用刀片模板中的类?
- android - 时间选择器对话框不显示
- azure - 选择哪个 Azure 消息传递服务以向不同订阅者发布不同的消息?