複数のアプリケーション ドメインを持つ IIS 7 で ASP.NET アプリケーションを実行していますが、1 つのプロセスに複数のアプリケーション ドメインが存在する理由がわかりません。コード ベースを grep しましたが、明示的に 2 つ目のアプリケーション ドメインを作成していません。リサイクルがタイムアウトに失敗した可能性はありますか?
- これらの二重ドメインはしばらくの間持続します。
- Web 構成またはバイナリの変更が原因でリサイクルが発生した場合、両方のアプリ ドメインが停止し、2 つの新しいドメインが起動します。
- これらのサーバーには、1 日に複数のバイナリ パッチと IISResets が適用されます。ドメインが 2 つある場合もあれば、ドメインが 1 つしかない場合もあります。
- Web ガーデニングが無効になっています。
- これを発見したのは、アプリケーションにデータベースへのハートビートがあるタイマーがあるためです。ある日、サーバーに 2 つのハートビートがあることに気付きました。
windbg で !dumpdomain を実行すると、次の結果が表示されます (アプリ ドメインの名前のみを表示するようにフィルター処理されます)。
Line 59: Name: None
Line 66: Name: None
Line 372: Name: DefaultDomain
Line 460: Name: /LM/W3SVC/1/ROOT/MyAppDomain-1-129882892717131250
Line 4437: Name: /LM/W3SVC/1/ROOT/MyAppDomain-4-129285605131450579