問題タブ [threadabortexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ThreadAbortException なしでカスタム エラー ページを返す方法
以下の Mono MVC5 コントローラ コードは、カスタム エラー ページを返すために使用されます。
しばらくすると、これにより ThreadAbortException が発生し、Application_Error でキャッチされる可能性があります。タイムアウトになるまでスレッドが実行され続けるようです。
例外が発生しないようにこれを修正するにはどうすればよいですか?
SO の回答には、web.config の変更とさまざまな場所での多くのコードが必要です。
MVC5 で web.config を変更せずにカスタム エラー ページを返す簡単な方法を探しています。
コントローラーでスレッドを終了する方法、または例外を回避する他の方法があります。例外は Applicaion_Error からログに記録され、ログ ファイルにそのような例外が含まれていなければ問題ありません。
例外スタック トレース:
c# - wcf サービスでのスレッド中止例外
IIS 6.0 でホストされている WCF サービス (.NET Framework 3.5 に組み込まれている) を使用しています。
コードの流れは以下の通り
- クライアント (別の Web サービス) が WCF サービスを呼び出す
- WCF サービスはスレッドを呼び出してバックグラウンドで処理を行い、呼び出し先にすぐに応答します。
- すべての処理が完了すると、バックグラウンド スレッドがスレッドをコールバックします。クライアントは Web サービスであるため、この呼び出しは基本的に HTTPS 要求です。
しきい値を定義するために、WCF サービスの負荷テストを行っています。観察は次のとおりです。
1 分以内に WCF サービスに対して行われた 1024 の要求の約 3 回の反復が正常に通過します。各反復を完了するのにかかる時間は、約 25 ~ 30 分です。ただし、4 回目のイテレーションからバルク エラーが見られます。リクエストの約 50% は、以下の例外で失敗します。
Exception-Thread が中止されました。
スタックトレース
この問題を解決しようとした変更は次のとおりです。
web.config で
web.config で
web.config で
StackOverflow で多くの人が提案しているように、App プールの IdleTimeout プロパティを 0 に設定しました。
ストリームが使用される場所はどこでも、すべての場所で処分しました。したがって、すべてのストリームが閉じられます。
誰がスレッドを中止しているのか、その理由を教えてもらえますか?また、スレッド中止の開始の原因を追跡する手段やツールはありますか?
c# - System.Threading.ThreadAbortException (この例外をどのように処理できますか?)
public Form() { try { Thread t = new Thread(new ThreadStart(StartForm)); t.Start(); Thread.Sleep(3200); InitializeComponent(); t.Abort(); } catch(Exception ex) { MessageBox.Show(ex.Message); } } スレッド th;