Azure Webサイトのポータル画面で設定をすることにより、ローカルの開発環境とAzure Webサイト上でConnectionStringsやAppSettingsの設定を別の値に設定したいことがあります。Visual StudioのWeb.configのパッチのテクニックを使用するのも1つの方法ですが、一番簡単なのはAzure Web サイトの構成の機能を使用することです。詳細は次のリンクをご参照下さい。

Windows Azure Web Sites: How Application Strings and Connection Strings Work
http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/

 

設定方法の手順を記載します。Azure Webサイトの管理ポータルにログインし、構成を設定したいAzure Webサイトの構成ページに移動します。下図のように構成タブをクリックして移動します。

ここで.NETのバージョンやそれ以外のプログラミング言語の設定、SSLの設定など行えますが、下の方にスクロールすると下図のような アプリケーション設定や 接続文字列のセクションが表示されます。ここに設定をすることで、パブリッシュ時にパブリッシュした Web.config の appSettings のキーバリュー や connectionStrings の接続文字列を上書きできるようになります。非常に便利です。

試しに 開発環境でWeb.configのAppSettingsに 上図で設定している key1という 定義を下記のように設定しているとします。

  <appSettings>
    <add key="key1" value="テスト"/>
  </appSettings>

次のような Webフォームを用意してローカルの開発環境上でデバッグ実行しみてます。サンプルではコードフロントで直接 key1 を参照しています。

    <form id="form1" runat="server">
    <div>
        <asp:Label runat="server" ID="lblMessage">AppSettingsのKey1の値:</asp:Label>
        <asp:Label runat="server" ID="lblKey1" Text="<%$ AppSettings: key1 %>" ></asp:Label>
    </div>
    </form>

ローカルのデバッグ環境では次のように Web.config の AppSettings の値(テスト)が画面に表示されます。

Web アプリケーションをAzure Webサイトに 配置して ブラウザーで確認すると Azure Webサイトのポータルの構成画面で設定した appSettings の値が使用されていることを確認できます。

簡単ですが説明は以上となります。管理ポータルで設定を記載しておくと Web.config の管理が非常に簡単になります。

誤りなど指摘点があればご連絡ください。