【问题标题】:.net Core appsettings - Multiple Environments on same IIS.net Core appsettings - 同一 IIS 上的多个环境
【发布时间】:2018-01-01 21:26:21
【问题描述】:

在单个服务器(在 IIS 中)上,如何为每个站点/应用程序使用不同的配置(appsettings.x.json 文件)?

这样我就可以在两个部署中使用相同的 CI 构建工件。

我了解服务器系统环境变量 (ASPNETCORE_ENVIRONMENT) 是如何获取 appsettings.environment 的,并且它适用于我们的几个环境。但是,我们有一台服务器,上面托管着多个环境。 IE。 CI UAT 在同一台服务器 + IIS 上。

【问题讨论】:

  • 如何定义部署服务器上的环境?
  • 在系统环境变量中的服务器上:ASPNETCORE_ENVIRONMENT
  • 你是如何部署的?我们使用 Octopus 并使用了一些方法。具有部署修改以设置环境的 Environment.json 文件。然后将其作为获取环境的第一件事加载,因此可以使用 appsettings.*.sjon 方法。最近我们更多地转向将配置存储在 octopus 本身中,并让它处理配置文件的创建。我不确定我最喜欢什么。
  • @Christian Sparre 我们正在使用 VSTS 来构建和部署。我正在考虑在发布步骤期间在 web.config 文件中添加 。我相信这会覆盖系统设置。

标签: iis asp.net-core asp.net-core-mvc


【解决方案1】:

我遇到了类似的问题,最终在 web.config 中指定了环境变量。

<aspNetCore /* omitting other aspNetCore arguments for brevity */>
    <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Staging" />
    </environmentVariables>
</aspNetCore>

【讨论】:

  • 这就是我在上面的 cmets 中提到的。那么在部署时转换该设置?
  • 如果您在 ASP.NET Core 进程之前使用 IIS,这似乎是一个不错的选择。
  • 这就是我想说的可能是您的情况下最直接的选择。
猜你喜欢
  • 2018-07-04
  • 1970-01-01
  • 2017-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-12
  • 2020-11-30
  • 1970-01-01
相关资源
最近更新 更多