web-dev-qa-db-ja.com

Azure Webサイトアプリの設定値の読み方

Windows Azureプレビューポータルのアプリ設定セクションを使用して、Azure Webアプリケーションのキー/値ペアを構成しようとしています。

enter image description here

今、私は以下のような値を読み取ろうとしています

ConfigurationManager.AppSettings ["MyWebApp.DbConnectionString"];

ただし、null値を返します。

WebアプリケーションでWeb.configからアプリの設定を読み取ることは正常に機能します。

23
ABB

私は解決策を見つけました。

Web.configおよびAzureアプリの設定で値を保持します。ローカル環境でアプリケーションを実行/デバッグする場合、web.configから値を選択します。

Azureにアプリケーションをデプロイすると、アプリケーション設定から値が選択されます。

//Below code work for both.
ConfigurationManager.AppSettings["KeyName"]

Web.configとAzureアプリの設定でキー名を同じにしてください。

32
ABB

Azureには、アプリケーション設定と接続文字列を取得するいくつかの異なる方法があります。ただし、接続文字列はバニラアプリケーションの設定とは少し異なります。

アプリケーション設定は、Web.configファイルに存在するかどうかに関係なく、任意の方法で取得できます。

接続文字列は、Web.configで文字列が定義されている場合、どのメソッドでも取得できます。ただし、接続文字列がWeb.configで定義されていない場合、環境変数メソッドを使用してのみ取得できます。

環境変数として取得する

Environment.GetEnvironmentVariable("APPSETTING_my-setting-key");
Environment.GetEnvironmentVariable("SQLAZURECONNSTR_my-connection-string-key");

このメソッドを使用する場合、キーのタイプを指定する文字列をキーの先頭に追加する必要があることに注意してください。

すべてのアプリケーション設定は、APPSETTING_プレフィックスを使用します。

接続文字列には、ポータルで文字列を作成するときに選択したデータベースの種類に応じて、異なるプレフィックスが付けられます。

"Sql Databases" --> "SQLAZURECONNSTR_my-connection-string-key"
"SQL Server" --> "SQLCONNSTR_my-connection-string-key"
"MySQL" --> "MYSQLCONNSTR_my-connection-string-key"
"Custom" --> "CUSTOMCONNSTR_my-connection-string-key"

概要については、 Windows Azure Webサイトのドキュメント を参照してください。

14
Will