aws环境变量替换ASP.net MVC中的连接字符串

时间:2018-03-07 13:55:20

标签: amazon-web-services elastic-beanstalk

我试图在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本身不知怎的错过了什么!

1 个答案:

答案 0 :(得分:0)

Elastic Beanstalk的想法是为环境配置的任何环境属性都将自动传递给您的应用程序。在.NET应用程序中,这意味着它们会自动附加到Web.config的<appSettings>部分的末尾。

因此,您不需要对Web.config进行任何更改(我会完全保留这些变量),并且构建connectionString的实现看起来很好。

要进行故障排除,请尝试使用“环境属性”设置启动应用程序。然后登录到实例并验证变量是否已正确添加到Web.config中。如果他们是你可能需要做更多的测试,以确保您的应用程序正确读取它们。