【问题标题】:Third party API and IHostingEnvironment in Application layer?应用层中的第三方 API 和 IHostingEnvironment?
【发布时间】:2019-06-05 02:34:04
【问题描述】:
我有 2 个与 aspnetboilerplate 开源版本相关的查询。
- 如果我正在实现一些将调用其他第三方 API API 的服务,我应该在哪里实现这些服务?直接在应用层还是在Core层调用第三方API的代码,然后通过应用层暴露为服务?
- 如何在应用层和核心层获取 IHostingEnvironment .EnvironmentName?基于环境,我需要调用存储在 appsettings.json 中的 API 密钥
谢谢。
【问题讨论】:
标签:
aspnetboilerplate
abp
【解决方案1】:
- 使用 appservices 进行第三方集成。
- 您不能在应用程序或核心层中使用基于 Web 的引用(例如:IHostingEnvironment)。这打破了层隔离。您可以将
appsettings.Development.json 或appsettings.Staging.json 用于您的不同环境。 asp.net 会自动从相应的环境中读取设置。但如果您有与 web 层相关的额外要求。您可以将其作为参数从 Web 层传递给您的 appservice 方法。