Windows Azure Web サイトの管理ポータルで ASP.NET Web.config の appSettings パラメータを変更する

今日は、先日の MVP Open Day でご紹介した小ネタを一つご紹介します。

ASP.NET の Web.config ファイルで、appSettings 要素を使ってアプリケーション独自のパラメータを追加することが出来るのはご存知でしょうか。

Web.config

 <appSettings>

    <add key="Tel" value="03-1234-1234"/>
    <add key="Email" value="chack@example.com"/>
    ...

</appSettings>

ここでは、例として電話番号とメールアドレスをパラメータとして Web.config に記述しています。

このパラメータをアプリケーションのコード内で参照する場合は、一例として下記のようなコードになります。(このサンプルでは、ASP.NET MVC の Contact アクションで ViewBag のプロパティとして各値を設定し、Contact.cshtml でそれぞれの値をビューに埋め込んでいます。ViewBag を使用しない実装でももちろんOK)

HomeController.cs

 public ActionResult Contact()
{
    ViewBag.Tel = WebConfigurationManager.AppSettings["Tel"];<br>    ViewBag.Email = WebConfigurationManager.AppSettings["Email"]; 

    return View();
}

Contact.cshtml

 <div class="contact">
    <div>TEL: @ViewBag.Tel</div>
    <div>E-Mail: <a href="mailto:@ViewBag.Email">@ViewBag.Email</a></div>
</div>

この場合の実行結果は下記のようになります。

image

(上記スクリーンショットの URL から分かるとおり、このサンプルでは Windows Azure Web サイト上にアプリケーションを発行しています)

ここで、Windows Azure Web サイトへの発行後に、電話番号とメールアドレスを変更する必要が出てきたとします。もちろん、Web.config のパラメータ値を書き換えて再度 Azure へ発行してもそれほど手間ではないでしょう。けれでも、例えば Visual Studio などの開発環境が無い状況で急遽変更せざるを得ない場合などでは、対応が難しいこともあるかと思います。

このような場合でも、Windows Azure では管理ポータルにアクセスできるネットワーク環境さえあれば、上記のような Web.config の appSettings パラメータを容易に変更できます。

Windows Azure の 管理ポータル で、対象の Web サイトの CONFIGURE (日本語表示名:構成) を開きます。

image

このページの下の方を見ていくと、”app settings” (日本語表示名:アプリ設定) という項目がありますので、ここに Web.config で設定していたパラメータと同じ名前で Key-Value を設定するだけで、容易にパラメータ値を変更することができます。※ 設定後、ページ一番下の SAVE (保存) ボタンを忘れずに押してくださいね。

image

ページをリロードすると、下記の通り変更されていることが確認できます。

image

ここでは、電話番号とメールアドレスを例に取り上げましたが、頻繁に変更する必要があるパラメータを、このような形で変更できるように実装しておくと便利かと思います。ご活用くださいませ。