12

ウェブサイトのコードの一部を使用QueueUserWorkItemからに移行しましたTask.Factory.StartNew

例外をスローしたいくつかの悪いコードがあり、最終的に w3wp をシャットダウンしました。Windows Server 2008 R2、x64 で IIS 7.5 を実行する

                Task.Factory.StartNew(() =>
                {
                    MethodThatThrowsException();
                }

アプリケーション: w3wp.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外が発生したため、プロセスが終了しました。例外情報: System.AggregateException スタック: System.Threading.Tasks.TaskExceptionHolder.Finalize() で

例外: System.AggregateException

メッセージ: タスクの待機中またはその Exception プロパティへのアクセスによって、タスクの例外が確認されませんでした。その結果、監視されていない例外がファイナライザー スレッドによって再スローされました。

スタック トレース: System.Threading.Tasks.TaskExceptionHolder.Finalize() で

内部例外: System.Data.SqlClient.SqlException

例外によってイベント ログが生成され、w3wp が強制終了されていないと想定していました。これは間違った仮定ですか?

4

1 に答える 1

9

未処理の例外により、IIS ワーカー プロセスがクラッシュします。これは仕様によるものです。http://support.microsoft.com/kb/911816

したがって、例外を適切に処理する必要があります。

于 2011-02-20T06:31:20.843 に答える