1

デフォルトの動作は、バックグラウンドワーカーで実装すると、長時間実行されているプロセスをユーザーがキャンセルできることだと思います。WorkerSupportCancellation の意味は何ですか?

  1. この WorkerSupportCancellation を true として使用しないと、ユーザーはキャンセルできなくなりますか? または別の言い方をすれば、これを定義することは必須ですか?

  2. 質問 1 に対する答えが「必須ではない」場合、なぜこれが MS が思いついた機能なのですか? ユーザーがプロセスをキャンセルするのを止める正当な理由はありません。それは彼の選択によるものです。この機能はどのようなシナリオに適合しますか?

誰かがこれに光を当ててください。

4

3 に答える 3

2

WorkerSupportCancellation非同期キャンセルをサポートするには、true に設定する必要があります。それ以外の場合、呼び出すCancelAsync()InvalidOperationException. それで、あなたの質問に答えて:

  1. はい、ユーザーがキャンセルするには、これに該当する必要があります。キャンセルできることが必須である場合にのみ必須です。

  2. アプリケーションの要件によっては、データベース クエリ、ファイル システムとの対話など、完了する必要があり、おそらくユーザーによって開始されないタスクをバックグラウンドで実行したい場合があります。したがって、ほとんどのユーザーが開始したアクションのキャンセルは、サポートするのに適した機能です。

WorkerSupportsCancellationBackgroundWorkersに関する追加情報を次に示します。

于 2013-03-13T13:01:42.223 に答える