WebAppllicationBuilder构建配置并默认添加一些提供程序,例如:
我需要将"appsettings.json"设置为必需,而不是可选的。当然,我可以添加其他json文件提供程序并使用新设置重新映射相同的文件。但如果有一种方法可以修改默认提供程序并将其中一个设置为可选:false,代码看起来会更好。
如何修改默认提供程序的选项?
马雷克
- "appsettings.json"的JsonConfigurationProvider或
- "secrets.json"的JsonConfigurationProvider
我需要将"appsettings.json"设置为必需,而不是可选的。当然,我可以添加其他json文件提供程序并使用新设置重新映射相同的文件。但如果有一种方法可以修改默认提供程序并将其中一个设置为可选:false,代码看起来会更好。
var builder = WebApplication.CreateBuilder(args);
builder.Configuration
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
// here I need to add "secrets.json" again, because secrets are loaded by
// default json provider but overwritten by above
// .AddUserSecrets<Program>(optional: true)
// (I put the same key in both files, just marked "from-secrets" in "appsettings.json" to indicate what is needed)
.AddEnvironmentVariables("whatever_");
如何修改默认提供程序的选项?
马雷克