.NET Core,并行运行相同的应用程序,可能有不同的配置?

时间:2017-08-09 09:32:50

标签: .net-core configuration-files

我试图了解.netcore配置应用程序的方式。

SZENARIO

我在DEV-Environment中的同一台服务器上为client1和client2运行相同的rest api(应用程序)。 我们有特定于环境的配置以及客户特定的配置。

"旧"方式:

使用web.config转换,我为dev-client1和dev-client2创建了构建配置并相应地设置了值...这一切都运行良好。

"新"方式:

由于appsettings.json依赖于windows环境变量(每个服务器一个),因此遇到了麻烦。到目前为止,我无法找到在不同配置的同一服务器上并行运行应用程序的方法。

我可能误解了配置应用程序的新方法,因此我们将不胜感激。

1 个答案:

答案 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.jsonConfigurationBuilder将获取所有来源中的设置并将其编译到configuration对象中。

还查看完整的文档:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration