我试图了解.netcore配置应用程序的方式。
SZENARIO :
我在DEV-Environment中的同一台服务器上为client1和client2运行相同的rest api(应用程序)。 我们有特定于环境的配置以及客户特定的配置。
"旧"方式:
使用web.config转换,我为dev-client1和dev-client2创建了构建配置并相应地设置了值...这一切都运行良好。
"新"方式:
由于appsettings.json依赖于windows环境变量(每个服务器一个),因此遇到了麻烦。到目前为止,我无法找到在不同配置的同一服务器上并行运行应用程序的方法。
我可能误解了配置应用程序的新方法,因此我们将不胜感激。
答案 0 :(得分:0)
在典型的新.NET Core Web应用程序中,您将在Startup.cs中看到此代码:
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{environment.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables()
.Build();
您需要做的就是使用特定于客户端的设置添加另一个appsettings文件,例如:
.AddJsonFile($"appsettings.client.json", optional: true)
然后让您的构建脚本以正确的构建配置复制到appsettings.client.json
。 ConfigurationBuilder
将获取所有来源中的设置并将其编译到configuration
对象中。
还查看完整的文档:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration