[ASP.NET] Web.Config 内の ConnectionStrings を外部ファイルにする

Storing and Retrieving Connection Strings より。ConnectionStrings 要素において、configSource 属性を使うと外部ファイルにできる。

<?xml version='1.0' encoding='utf-8'?>
<configuration>
    <connectionStrings configSource="connections.config"/>
</configuration>

ASP.NET は Web.config の書き換えを検出するとアプリケーションを再起動するが、この外部ファイルの書き換えは検出しないのでアプリケーションの再起動は発生しない。

For example, the standard ASP.NET behavior is to restart an application domain when configuration files are modified, which results in state information being lost. However, modifying an external configuration file does not cause an application restart.

これが望む結果なのかどうかは環境次第。通常コネクションプーリングが行われていると思うので、データベース接続先を書き換えたはずなのに昔のままという状況は想定される。SessionStateを維持しつつ接続先を変更したいのであれば、そのための専用のトリガーをアプリケーション内に用意する必要がありそう。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。