asp.net-mvc - 如何在 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.AppSettings
并Environment.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 应用程序。
我错过了什么?
解决方案
在这个 Stack Overflow 帖子中找到了答案。
<appsettings>
我缺少的是只有在web.config
.
这是一个惊喜,来自 Octopus Deploy,其中密钥必须存在于<appSettings>
.
推荐阅读
- string - python列表中的唯一元素
- javascript - 将 Shopify 访问令牌发送给客户端会是一个坏主意吗?
- javascript - 标记一个元素时验证所需的复选框
- regex - 正则表达式在bash中的值和键周围添加双引号
- azure - Dynamics CRM 365 - 使用虚拟实体
- java - 我有一个由多个 json 元素组成的字符串,而这些元素又由多个元素组成,如何将其转换为 json 对象
- swift - 要求协议实现者用@objc 标记函数
- python - jupyter notebook 找不到肯定安装的 python 模块
- java - 检查文件是否存在于嵌套的不均匀目录中?
- python - 家庭网络中python中的DLNA服务器