Asp.net
如何在 .net 中閱讀 Elastic Beanstalk 環境屬性?
如何從此處找到的 AWS Elastic Beanstalk 應用程序中讀取環境屬性:
Configuration > Software Configuration > Environment Properties以下方法均無效:
ConfigurationManager.AppSettings["MyServiceUrl"] ConfigurationManager.AppSettings["aws:elasticbeanstalk:application:environment.MyServiceUrl"] Environment.GetEnvironmentVariable("MyServiceUrl") Environment.GetEnvironmentVariable("aws:elasticbeanstalk:application:environment.MyServiceUrl")“完全限定”名稱嘗試來自AWS EB 文件。
有任何想法嗎?
在您的
.ebextensions/myoptions.config文件中:option_settings: - option_name: MyServiceUrl value: change me這將在您的 EB 環境屬性部分添加“MyServiceUrl”選項(如您所見)。部署後,這會將以下內容添加到您的
Web.Config文件中:<appSettings> <add key="MyServiceUrl" value="change me" /> </appSettings>如果您 RDP 進入您的 EC2 實例,您將看到這一點。
當您使用 EB 控制台更改屬性時,將在您的
Web.Config文件中修改該設置。
AppSettings因此,您可以使用標準方法訪問此屬性:string value = ConfigurationManager.AppSettings["MyServiceUrl"];漁獲:
您需要確保您的
Web.Config文件不包含此設置,否則 EB 不會替換它。如果您的 Visual Studio 部署包包含此設置,則 EB 不會替換它,並且當您通過程式碼訪問該屬性時,您將始終收到已部署的值。解決方案:
在您
Web.Release.config的文件中,在 Visual Studio 部署期間刪除設置:<appSettings> <add key="MyServiceUrl" xdt:Transform="Remove" xdt:Locator="Match(key)" /> </appSettings>這將從
Web.ConfigVisual Studio 部署期間刪除設置,並允許 EB 在 EB 部署期間將值添加到文件中。
