【问题标题】:aws Environment Variables to replace connection string in ASP.net MVC用于替换 ASP.net MVC 中的连接字符串的 aws 环境变量
【发布时间】:2018-08-15 15:46:17
【问题描述】:

我试图在 AWS elastic beanstalk 中部署一个应用程序,并在 web.config 文件中使用连接字符串,一切正常。但是当我尝试通过在 AWS 应用程序中设置环境变量来实现时,它不起作用。我所做的是我在 RDS_DATABASENAME - admin 这样的 aws 中添加了 AWS 标签键值对,然后我在 web.config 中添加了那些像

    <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" /> 

然后在构建 connectionString 时我使用了这个:

        var appConfig = ConfigurationManager.AppSettings; // trying  to get connection details from enviornment varibales 

        string dbname = appConfig["RDS_DB_NAME"];

        if (string.IsNullOrEmpty(dbname)) return null;

        string username = appConfig["RDS_USERNAME"];
        string password = appConfig["RDS_PASSWORD"];
        string hostname = appConfig["RDS_HOSTNAME"];
        string port = appConfig["RDS_PORT"];

        SqlConnectionStringBuilder sqlString = new SqlConnectionStringBuilder()
        {
            DataSource = hostname + "," + port, 
            InitialCatalog = dbname, 
            UserID = username,          
            Password = password   
        };

        return sqlString.ToString();

我以某种方式关注了 aws 文档本身,但我错过了一些东西!

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

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

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

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

    【讨论】:

    • 先生,我对此很陌生,请指导我如何确保应用程序正在读取这些环境变量
    • @AmalSebastian 您可以测试将变量添加到本地 web.config 并调试您的应用程序,或者在测试 dbname 变量时将日志添加到您当前的 return null 位置。
    • 先生,我在本地测试了添加变量的工作,如何验证变量是否已正确添加到Web.config。
    • 如果您登录到 Beanstalk 创建的 EC2 实例,您应该能够打开 Web.config 并检查变量是否已按预期添加。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 2021-07-15
    • 1970-01-01
    • 2020-08-08
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多