2012-01-16 13 views
1

私は、parallel.forメソッドを使用してネットワークフォルダをスキャンするサービスを持っています。Parallel.For Termination vb.net

しかし、最近私はサービスを停止しても、ウィンドウがサービスが停止していると判断していますが、プロセスはまだタスクマネージャーで実行されています。しかし、それは0CPUであり、メモリは変更されません。私が試して、コマンドプロンプトに力を入れても)終了すると、アクセスが拒否され、サーバーを再起動する必要があると表示されます。

すべてが終了するようにするにはどうすればよいでしょうか?

グローバルなブール値を追加することを考えましたが、ストッププロシージャでは真となり、パラレルコードの一部がチェックされ、s.stopが呼び出されます。

は、あなたのサービスが停止しているとき、それは実際に仕上げるために、それらの操作を待つ、その後、すべての保留中、実行中の操作をキャンセルする必要があり、簡単に言えばあなたに

答えて

2

ありがとうございます。 Task CancellationのMSDNリファレンスを参照してください。

+0

申し訳ありませんが、私はこれを投稿しました。私はそれがparallel.foreachのためにも働くのを見ます。ありがとうございました – Jasin