falseの場合もCancellationToken.CanBeCanceledができますか?
-
27-09-2019 - |
質問
CancellationToken.CanBeCanceled
の上のドキュメントには、何を記述しますそれはありませんが、それが今まで偽することができたときには言及しません。私は、このプロパティに注意を払う必要があるときしたがって、それは私には完全には明らかではありません。
ではどのような状況、それが偽のときすることができ、私はそれを見なければならない?
解決
さて、 CancellationToken.None に戻ります解約ではありません1。
あなたはCancellationTokenを受けて主張していますが、これまでの仕事をキャンセルしようとするには関心を持っていないてきたAPIのユーザーであれば、、あなたはちょうどこのトークンを渡すことができます。
誰かとしてがのAPIを構築し、あなたはCanBeCancelledがfalseを返した場合に特定の最適化を行うことができるかもしれ - あなたはIsCancellationRequestedプロパティをチェックするために多分それは「高価」です。
。他のヒント
は例えば、非同期メソッドの「全体」のコードは、(リモートマシンがそれをキャンセルする方法を、どのような方法を提供していない)にキャンセルすることができないリモートコンピュータ(例えばサーバ)上で呼び出す1つの方法です。その後、タスクはキャンセルできません - 。>タスクのみを完了した(または例外をスロー)することができます。
所属していません StackOverflow