如何根据设置将自定义JSON文件添加到IConfiguration中



我正在使用ASP.NET Core 6.0 WebAPI,需要使用Sage SData API从CRM系统(Sales Logix(获取数据。我们有不同的CRM环境(生产、暂存、开发(,我希望能够连接(或测试(我的WebAPI项目中的任何环境。

为了实现这一点,我想在appsettings.json(或launchsetting.json(中添加一个配置键(指示特定的CRM环境(。例如,当设置为"crmEnvironment": "Development"时,我想包括一个自定义json文件,名为CRM-dev.json。与"crmEnvironment": "Staging"类似,我想包含CRM-staging.json。

每个自定义json文件最好包含CRM Url、用户名和密码。

请告诉我如何有条件地添加上面提到的json配置文件,或者考虑到安全性,有没有更好的方法可以获得类似的结果。最好是我可以在不必偏离标准的情况下加密自定义配置文件,就像我们通过继承ProtectedConfigurationProvider对Web.config文件所做的那样。

我的问题类似于如何将自定义JSON文件添加到IConfiguration?。但是由于Program.cs不再使用Main()方法,我想知道添加自定义json配置文件的正确方法是什么。

如果这可行,我会使用这种方法。

.AddJsonFile($"Config\appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", optional: true, reloadOnChange: true)

我将为每个环境创建Json文件。您可以通过IHost上下文设置环境变量值,也可以通过使用相应环境中的环境变量值来简化您的需要。

相关内容

  • 没有找到相关文章

最新更新