How do you put environmental variables in web.config?

陌路散爱 提交于 2019-11-27 17:29:55

问题


I am currently Following these tutorials, and I am wanting to call the clear text string from Azure's Application Settings for Web Apps. I am under the impression that environmental variables are used for non-config files. However, I am wanting to use the same methodology for web.config files.

  <connectionStrings configSource="/config/ConnectionStrings.config">
    <add name="DefaultConnection" connectionString="@Environment.GetEnvironmentalVariable('SQLAZURECONNSTR_DefaultConnection')" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings file="config\AppSettingsSecret.config">
    <!-- Code Removed for Conciseness-->
    <add key="mailAccount" value="@Environment.GetEnvironmentalVariable('APPSETTING_mailAccount')" />
    <add key="mailPassword" value="@Environment.GetEnvironmentalVariable('APPSETTING_mailPassword')" />
    <!-- Twilio-->
    <add key="TwilioSid" value="@Environment.GetEnvironmentalVariable('APPSETTING_TwilioSid')" />
    <add key="TwilioToken" value="@Environment.GetEnvironmentalVariable('APPSETTING_TwilioToken')" />
    <add key="TwilioFromPhone" value="@Environment.GetEnvironmentalVariable('APPSETTING_TwilioFromPhone')" />
  </appSettings>

Note: I included the configSource="/example/" for local testing.


回答1:


For Applications, including Web Applications, On Windows:

The values in <appSettings> are just strings. If you want environmental variables to be expanded your application will need to do that itself.

A common way of doing this is to use the cmd syntax %variable% and then using Environment.ExpandEnvironmentVariables to expand them.

On Azure:

The rules are different (see links in the question): but the values appear to be in environment variables so, in the config file:

<add key='SomeSetting' value='%APPSETTING_some_key%'/>

and then to retrieve:

var someSetting = Environment.ExpandEnvironmentVariables(
                     ConfigurationManager.AppSetting("SomeSetting"))

may well work.



来源:https://stackoverflow.com/questions/29416302/how-do-you-put-environmental-variables-in-web-config

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!