C#スレッドメソッドリセット問題をリセットします
-
15-11-2019 - |
質問
私はスレッドアレイを持っています。スレッドアレイがあるスレッドアレイがあり、そこにはプロデューサ/コンシューマモジュールを使用して - それが終了すると、検索マネージャスレッドからの次の信号まで待機します。検索はWeb経由で実行され、かなりの時間がかかります(主にHTMLデータ部分を取得)。 私の問題は、ユーザーが現在の検索を停止し、新しい検索セットを開始することを選択し、以前のWeb検索中にすべての検索がビジーされているので、現在、ユーザーはそのタスクを終了するまで待機します。新しいものを始めます。
私の質問は、新しい関連タスクですぐに始めるにはどうすればいいですか? LONG HTTPメソッドのための長い待機のためのフラグを使用することはできませんでした(検索をスキップするためにスレッドを示すために)。 メソッドを積極的に停止し、最初からそれを起動する方法はありますか?(私は新しいスレッドを使っていない...)
事前にありがとう、
Shmouel。
解決
I found a similar stackoverflow thread that should be of use. The trick is to use BeginGetResponse instead of GetResponse in order to call an abort on the HTTP request: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.abort.aspx
Link to original thread: Killing HttpWebRequest object using Thread.Abort