我试图在AWS弹性beanstalk中部署一个应用程序,web.config文件中的连接字符串一切正常。但是,当我尝试通过在AWS应用程序中设置环境变量来实现它时,它不起作用。我做的是在<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.16</version>
<configuration>
<signature>
<groupId>net.sf.androidscents.signature</groupId>
<artifactId>android-api-level-19</artifactId>
<version>4.4_r1</version>
</signature>
</configuration>
</plugin>
这样的aws中添加了AWS标签键值对 - 然后我在web.config中添加了那些
RDS_DATABASENAME
然后在构建connectionString时我使用了这个:
<add key="RDS_DB_NAME" value="RDS_DB_NAME"/>
<add key="RDS_USERNAME" value="RDS_USERNAME"/>
<add key="RDS_PASSWORD" value="RDS_PASSWORD"/>
<add key="RDS_HOSTNAME" value="RDS_HOSTNAME"/>
<add key="RDS_PORT" value="*RDS_PORT" />
我跟着aws doc本身不知怎的错过了什么!
答案 0 :(得分:0)
Elastic Beanstalk的想法是为环境配置的任何环境属性都将自动传递给您的应用程序。在.NET应用程序中,这意味着它们会自动附加到Web.config的<appSettings>
部分的末尾。
因此,您不需要对Web.config进行任何更改(我会完全保留这些变量),并且构建connectionString的实现看起来很好。
要进行故障排除,请尝试使用“环境属性”设置启动应用程序。然后登录到实例并验证变量是否已正确添加到Web.config中。如果他们是你可能需要做更多的测试,以确保您的应用程序正确读取它们。