如何在ASP MVC

时间:2018-05-25 09:56:58

标签: asp.net-mvc amazon-web-services web-config elastic-beanstalk

我正在尝试建立一个多环境Elastic Beanstalk ASP MVC解决方案。

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

This article让我相信应该可以在配置"修改软件"上定义属性。 - > "环境属性"我的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网址上查看该页面时,我看不到环境属性的值!相反,我看到了:

KEY1 = default1
KEY2 = default2

我期望的地方

KEY1 = custom1
KEY2 = default2

Environment.GetEnvironmentVariables( )的输出中,我看不到KEY1KEY2

文档明确说明了

  

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

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

我错过了什么?

1 个答案:

答案 0 :(得分:1)

找到答案in this Stack Overflow post

我遗漏的是,只有在<appsettings>的{​​{1}}部分中尚未存在param时,才会添加该参数。

这是一个惊喜,来自Octopus Deploy,其中 的密钥存在于web.config中。