web.config 环境变量怎么放?
How do you put environmental variables in web.config?
我目前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。但是,我想对 web.config 个文件使用相同的方法。
<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>
注意:我包含了 configSource="/example/" 用于本地测试。
对于应用程序,包括 Web 应用程序,在 Windows:
<appSettings>
中的值只是字符串。如果您希望扩展环境变量,您的应用程序将需要自己执行此操作。
一个常用的方法是使用 cmd
语法 %variable%
然后使用 Environment.ExpandEnvironmentVariables
扩展它们。
在 Azure 上:
规则不同(请参阅问题中的链接):但值似乎在环境变量中,因此在配置文件中:
<add key='SomeSetting' value='%APPSETTING_some_key%'/>
然后检索:
var someSetting = Environment.ExpandEnvironmentVariables(
ConfigurationManager.AppSetting("SomeSetting"))
可能会很好。
我目前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。但是,我想对 web.config 个文件使用相同的方法。
<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>
注意:我包含了 configSource="/example/" 用于本地测试。
对于应用程序,包括 Web 应用程序,在 Windows:
<appSettings>
中的值只是字符串。如果您希望扩展环境变量,您的应用程序将需要自己执行此操作。
一个常用的方法是使用 cmd
语法 %variable%
然后使用 Environment.ExpandEnvironmentVariables
扩展它们。
在 Azure 上:
规则不同(请参阅问题中的链接):但值似乎在环境变量中,因此在配置文件中:
<add key='SomeSetting' value='%APPSETTING_some_key%'/>
然后检索:
var someSetting = Environment.ExpandEnvironmentVariables(
ConfigurationManager.AppSetting("SomeSetting"))
可能会很好。