私は非同期メソッドからデータを取得します。例:2つのリストボックスがあります.1番目のリストボックスで選択されたイベントが変更された場合、非同期メソッドにリクエストを送信し、2番目のリストボックスのアイテムソースを取得します。この非同期メソッドが完了する前に、最初のListBoxで選択が変更された場合、メソッドは例外を発生させます。完了する前にprevius非同期呼び出しを中止するにはどうすればよいですか?非同期メソッドを中止する方法は?
答えて
これにはいくつかの作業が必要です。 現時点で最も簡単な方法は、Rx-Framework(Reactive Extensions)です。 これを見てsite
この道に行きたくない(学習が必要な場合)、非同期の実行を停止するためのメカニズムを提供する必要がある場合よりも、リクエスト。 System.Threading.CancellationTokenSourceまたはSystem.Threading.ManualResetEventを使用してこれを行うことができます。どちらも、実行中のタスク/スレッドへの取り消しにフラグを立てるために使用できますが、最初のものはより明確になる可能性があります。
ほとんど非同期です。リクエストはCancellationToken(発信元の.Token-Propertyを使用してください)で呼び出すことができます。そうでない場合は、独自のスレッドを使用してThrowIfCancellationRequestedで確認できます。
またはリクエストをキャンセルする必要がある場合は(e.g.not処理された)あなたのEndAsync-ハンドラでチェックすることができ、...
メソッドはWebサービスにあります。私はパラメータとコールバックメソッドを送信します – Javidan
あなたが尋ねた値を覚えていて、コールバックが変更されていればそれをチェックインします - もしあなたが持っているデータを無視するなら、あなたが応答からそれを読むことができない場合は、呼び出しにこの情報を与えることができます) – Carsten
問題を解決しました。私はbool isLoadingResourcesFinished.When私は(isLoadingResourcesFinished) isLoadingResourcesFinished = false}とコールバックメソッドで私はこれをtrueにしています。それは動作します。 – Javidan
- 1. 非同期メソッドから非同期メソッドを呼び出す方法
- 2. 非同期メソッドの作成方法は?
- 3. 非同期mvc .net:非同期メソッドからビューを返す方法
- 4. 非同期ループ内の非同期メソッド
- 5. Entity Framework 6非同期メソッドを模擬する方法は?
- 6. カスタム非同期進行メソッドを作成する方法は?
- 7. 単純に非同期メソッドを停止する
- 8. node.jsで非同期実行を停止する方法
- 9. コアデータのManagedObjectContext.ExecuteFetchRequestを非同期で非同期にする方法
- 10. 別の非同期 `each`メソッド(NodeJS)の内部で非同期メソッド呼び出しを行う方法は?
- 11. 非同期メソッドを同期メソッドに変換するこの方法は正しいですか?
- 12. UIColliectionViewのcollectionView:didDeselectItemAtIndexPathメソッドを非同期で使用する方法
- 13. 非同期メソッドを待つ
- 14. 非同期メソッドの名前を付ける最善の方法
- 15. 非同期デリゲートを停止または強制終了する方法は?
- 16. ElapsedEventHandler内から非同期メソッドを呼び出す方法
- 17. WCF:非同期メソッド、サービス中またはクライアント?
- 18. 非同期コードをテストする方法
- 19. 非同期呼び出しを同期化する方法
- 20. RubyCocoaの非同期メソッド
- 21. Azure TableServiceContext - 非同期AddObjectメソッド?
- 22. のXmlWriter非同期メソッド
- 23. 非同期メソッドのコードカバレッジ
- 24. JustMockを使ってEF 6非同期メソッドをモックする方法は?
- 25. 非同期メソッドのコールバック戻り値を待つ方法
- 26. 非同期WebAPIメソッドでレスポンスを書式設定する方法は?
- 27. Javaで非同期メソッド呼び出しを実装する方法は?
- 28. Flex - RemoteObjectメソッド呼び出しを中止/停止する方法
- 29. .NET 4.5非同期は、私は非同期メソッドを持って待っていますし、オーバーロードされたメソッド
- 30. 部品番号は、非同期メソッドが
は私たちのEventHandlerのコードを表示します。 –