問題タブ [cancellation-token]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - キャンセルトークンの使用
キャンセルトークンを使用してタスクをキャンセルする方法を学ぼうとしています。ここでは、UnitTest を作成しましたが、動作がわかりません。
上記のテストではcts.Cancel()
、メソッドを呼び出す前に を呼び出しましたCheckMeCalled
。そのため、キャンセルされたときに実行されるべきではありません。しかし、それは完全に実行されています。
私はどこかでそれを読んだ:
タスクが実行されていないときにキャンセルすると、実行中の状態にはならず、呼び出したときにキャンセルされた状態になります。
しかし、ここで起こっているようには見えません。誰か説明してくれませんか?
c# - MSTest キャンセル メカニズム
単体テストがキャンセルされたことを理解するために使用できる、単体テスト用の CancellationToken (または [TestInitialize] のような属性) を提供するメカニズムはありますか? 私は見つけられませんでした。
c# - 「return」で C# Async メソッドを終了または終了する
async-await
の方法を初めて知ったC# 5.0
ので、いくつか質問があります。
async
入力引数または null チェックに失敗した場合にメソッドをエスケープする最良の方法は何ですか?return;
Taskメソッドで使用する論理的な流れは何ですかasync
(状況によっては無限ループになりました)?このシナリオに適しています
CancellationToken
か?Task.Yield
c# - 非同期Dapperメソッドを使用したCancellationToken?
Nuget の Dapper 1.31 を使用しています。私はこの非常に単純なコードスニペットを持っています。
を押すF12とQueryAsync
、
CancellationToken
その署名にはありません。
質問:
- ソリューション全体でコンパイラ エラーがないと仮定して、スニペットが完全にビルド可能なのはなぜですか?
tokenSource.Cancel()
実行時間の長い SQL クエリを生成する方法がわからないため、呼び出しによってメソッドが実際にキャンセルされるかどうかをテストできないことを許してください。.Cancel()
本当にメソッドをキャンセルしてスローしOperationCancelledException
ますか?
ありがとうございました!
c# - CancellationToken が別の CancellationToken によって制御されるタスクのサブセットに影響を与える良い方法
キャンセル トークンを別のキャンセル トークンによって制御されるタスクのサブセットに関連付ける方法はありますか?...この例では、2 つの cancelTokenSource を作成し、1 つを他の Cancel 関数に対して登録します。画像の読み込みをキャンセルします...それらのタスクのみをキャンセルします...しかし、すべてをキャンセルすると...すべてのタスクがキャンセルされます...これを行うより良い方法はありますか? (この方法は面倒に思えます...たとえば、いつ登録を解除するか)
c# - PLINQ 内で Cancellation Token Register メソッドを待機する方法
以下のコードでわかるように、ProcessThisEmployee は各従業員に対して呼び出されます。そのメソッド内で、操作がキャンセルされたときにサードパーティ ライブラリの Clean メソッドを呼び出します。Clean メソッドにはかなりの時間がかかるとしましょう。私がやりたいのは、ProcessThisEmployee メソッドの実行中のすべてのインスタンスの Clean メソッドが完了したときに、UI にメッセージを表示することです。これは、すべての Clean メソッドの完了を待つ必要があることを意味します。今のところ、タスクの WaitAll がありますが、すべてのキャンセルが完了するまで待機するかどうかはわかりません。何か案は?