首页 > 解决方案 > 如何在 ASP MVC 中使用 Elastic Beanstalk 环境属性

问题描述

我正在尝试设置多环境 Elastic Beanstalk ASP MVC 解决方案。

特定于环境的设置(例如连接字符串和远程端点)存储在 web.config 中。

本文使我相信应该可以在我的 Elastic Beanstalk 环境配置的“修改软件”->“环境属性”部分的配置中定义属性。该文章是从该页面链接的。

为了对此进行测试,我创建了一个具有单一环境的 Elastic Beanstalk 应用程序。在配置 - >“修改软件”页面上,我定义了一个属性KEY1值为custom1

然后,我在 Visual Studio 2017 中设置了一个新的 ASP MVC 5 .NET 4.6.1 Web 解决方案,其中包含一个控制器/动作,它简单地循环ConfigurationManager.AppSettingsEnvironment.GetEnvironmentVariables( )在页面上呈现它们。

在 web.config 我有

<appSettings>
    <add key="KEY1" value="default1"/>
    <add key="KEY2" value="default2"/>
    ...
</appSettings>

当我在我的 elasticbeanstalk.com URL 上查看该页面时,我看不到我的环境属性中的值!相反,我看到:

KEY1 = default1
KEY2 = default2

我本来期望的地方

KEY1 = custom1
KEY2 = default2

Environment.GetEnvironmentVariables( )我看不到KEY1或的输出中KEY2

该文档明确指出

Elastic Beanstalk 不支持将环境变量传递给使用部署清单的 .NET Core 应用程序和多应用程序 IIS 部署

但这是一个经典的 ASP MVC 5 应用程序。

我错过了什么?

标签: asp.net-mvcamazon-web-servicesweb-configamazon-elastic-beanstalk

解决方案


在这个 Stack Overflow 帖子中找到了答案。

<appsettings>我缺少的是只有在web.config.

这是一个惊喜,来自 Octopus Deploy,其中密钥必须存在于<appSettings>.


推荐阅读