1


0

サイトweb.configの代わりに使用されるルートweb.config

開発サーバーで、すべてのASP.Netアプリケーションが同時に失敗し始めた状況がありました。

調査の結果、1.1アプリではアプリの設定を呼び出し、2.0アプリでは接続文字列コレクションがすべて失敗することがわかりました。 構成ファイルには値がありましたが、コードはヌルを返していました。

頭をかき回して検索した後、おそらくルートweb.configが使用されていて、サイトが無視されていると思いました。 この理論をテストするために、サイトの1つに必要なアプリ設定をルートweb.configに追加しました。 これにより、サイトが機能しました。

ルートweb.configから設定を削除し、IISをリセットしたことを証明した後。 しかし、今では、以前にルートweb.configに追加した設定に依存しないサイトも含め、すべてのサイトが再び機能します。

なぜこれが起こったのか、誰でも説明できますか? ルートweb.configに触れると、すべてが再び機能するようになったと言えますが、そもそも問題の原因または原因はわかりません。

編集:これはWindows Server 2003 SP2上のIIS 6.0上にあります

1 Answer


5


何が起こり得たかは、実行しているIISのバージョンによって異なります。 ルートweb.configは常にASP.NETで読み取られますが、IISサブディレクトリのweb.configファイルは、サブディレクトリがIISでWebアプリケーションとして定義されている場合にのみ読み取られます。 アプリケーションディレクトリではないIISサブディレクトリにweb.configを作成すると、読み込まれません。

あなたが説明したことが起こるのを見たことはありませんが、実行中のIISプロセスの状態が壊れてアプリのディレクトリを認識できなかった場合、構成システムはサブディレクトリのファイルを見逃す可能性があります。

これは、Server 2008やWindows 7よりもWin2000やXPなどのIIS 5.xで発生する可能性が高いと思います。