私は VS2010 と ASP.NET 4 を使用しています。アプリケーションで実行されている、実行時間の長いバックグラウンド スレッドが 1 つあります。これは、フォルダー内の最近使用されていないファイルを「クリーンアップ」するように設計されています。EventWaitHandle を使用して不要な CPU 使用率を排除しますが、アプリの存続期間中は実行を続けます。
24 ~ 40 回ほど削除すると、アプリケーションが再起動します。これは、デバッガーが接続されている IIS Express と WebDev サーバーの両方で発生します。バックグラウンド スレッドで例外はスローされませんが、すべてのスレッドで ThreadAbortException が発生し、アプリが再起動します。リダイレクト呼び出しはどこにも行われません。
これらのファイルは、アプリの再起動を引き起こすフォルダーではなく、ルートの「imagecache」フォルダーにあります。フォルダは作成または削除されません。
再起動は、削除の特定のしきい値が発生した後、一定の間隔で発生するようです。
なぜこれが起こっているのか、どうすればそれを止めることができるのでしょうか? 10秒ごとに再起動するのは私には受け入れられません:)