3

バックグラウンドでいくつかのデータを処理するためのスレッドを作成するWebサービスがあります。スレッドが強制終了されたログの1つに、「System.Threading.ThreadAbortException:スレッドが中止されました」というメッセージが表示されました。私は現在、スレッドが作業中のタスクを実行するのにかかる限りスレッドが実行されると想定していますが、実行をグーグルした後、WebでアプリケーションのExecutionTimeOutプロパティを増やすことに言及している投稿をいくつか見ました。構成ファイル。私の質問は:

ASP.NETで実行されるスレッドの最大実行時間はどれくらいですか?このタイムアウトは無制限ですか、それともアプリケーションのExecutionTimeOutプロパティによって制限されていますか?

4

1 に答える 1

3

これも同様の質問です。

誰が私のスレッドを殺したかを知る方法

プールが実行されている限り、実行できます。スレッドを保持しているプールが再起動すると、すべてのスレッドが終了するのを待ちますが、ページを実行するWebサービスはこの時点で機能を停止し、問題が発生します。また、プールを設定している場合は、しばらくしてスレッドが停止しない場合は、プールでリサイクルしてください。

私のプログラムでは、1つのインデックススレッドが26時間以上実行され、データベースのハードワークを実行していて、静的な機能を果たしていました。

于 2010-05-10T16:56:09.623 に答える