夜間のジョブプロセスドキュメントによって呼び出されるWebサービスがあり、各ドキュメントはキューに入れられ、自身のバックグラウンドプロセッサ上で実行されます。このプロセスは、負荷に応じて数時間または数分間かかることがあります。それが何もしていないなら、私はそれを生きていたいと思っていません。しかし、スレッドが発生してすぐにアイドル・クロックが戻ると、スレッドが機能しているにもかかわらず、アイドル・クロックが開始されます。スレッドをIsBackgroundに設定せず、アイドル状態のまま終了します。私のテストでは、アイドル時間を1分に設定しました。ここで生成されたスレッドがまだ動作している場合にウェブサービスを維持する
「ALIVE」としてサービスを維持する方法は、Webサービスのコードがあります:
public class LetterInitiateWS : System.Web.Services.WebService
{
private static Processor processor = new Processor();
[WebMethod]
public void ExecuteBulkRun()
{
var thrd = new Thread(() => ThreadExecuteBulkRun());
thrd.IsBackground = false;
thrd.Start();
}
private void ThreadExecuteBulkRun()
{
processor.ExecutBulkRun();
}
}
コンピュータがクラッシュしたり、他の理由でアプリケーションプールがリサイクルされたらどうなりますか? –