0

私はコードレビューを行っていて、このコードを見つけました。スレッド内で例外をスローするとIISがダウンしますか?コメントを読んでください。

         Thread unhandledExceptionThread = new System.Threading.Thread(new System.Threading.ThreadStart(delegate()
         {
              System.Threading.Thread.Sleep(90 * 1000);
              throw new ApplicationException("Thread 1");
         }));
         unhandledExceptionThread.Name = "IntentionalCrasher";
         Thread environmentExitThread = new System.Threading.Thread(new System.Threading.ThreadStart(delegate()
         {
              System.Threading.Thread.Sleep(100 * 1000);
              Environment.Exit(-500);
         }));
         environmentExitThread.Name = "Thread 2";
         unhandledExceptionThread.Start();
         environmentExitThread.Start();
4

1 に答える 1

1

「IISがダウン」することはありませんが、ASP.NETワーカープロセスは終了します。再起動します。

コードスニペットは、最初に例外をスローして死ぬことを試みます。10秒後、それが役に立たなかった場合、それは問題を自分の手に取り、プロセスを殺します。

AppDomain.Unloadまたは、現在のドメインを呼び出すこともできます。しかし、これはワーカープロセスを再開するための合理的な方法です。

迅速な障害保護が無効になっていることを確認してください。この機能は、5回失敗するとアプリを完全にシャットダウンするため、悪魔です。永久に通知なし。あらゆる種類のエラー。

于 2012-10-11T21:55:09.203 に答える