私は現在 これらのチュートリアルに従って で、AzureのWebアプリケーションのアプリケーション設定からクリアテキスト文字列を呼び出したいと思っています。私は環境変数が 非設定ファイルに使用される であるという印象を受けています。ただし、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 /"を含めました。
<appSettings>
の値は単なる文字列です。環境変数を拡張したい場合は、アプリケーションでそれを行う必要があります。
これを行う一般的な方法は、cmd
構文%variable%
を使用し、次に Environment.ExpandEnvironmentVariables
を使用して展開します。
ルールは異なります(質問のリンクを参照):値は環境変数にあるように見えるため、構成ファイルでは次のようになります。
<add key='SomeSetting' value='%APPSETTING_some_key%'/>
次に取得する:
var someSetting = Environment.ExpandEnvironmentVariables(
ConfigurationManager.AppSetting("SomeSetting"))
うまくいくかもしれません。