50ミリ秒が経過したらタスクを終了します。タスクのステータスは「キャンセル済み」に設定し、それ以外の場合は「RunToCompletion」に設定する必要があります。タスクをキャンセルし、ステータスを「キャンセル済み」に設定します
タスクの作成はここにある:
CancellationTokenSource cts = new CancellationTokenSource(50);
CancellationToken ct = cts.Token;
Task test_task = Task.Run(async() =>
{
try
{
tokenS.Token.Register(() =>
{
cts.Cancel();
ct.ThrowIfCancellationRequested();
});
await NotifyDevice(BLEDevice);
}
catch (Exception e)
{
}
},ct);
私は今まで得るすべてはtry/catch
- ブロックで何とかcatchedませんAggregateException
、です。
あなたがしたいですかタスクは50ms後にキャンセルされるか、50ms後に操作がキャンセルされますか? –
タスク "test_task"。手術の意味は? 'await NotifyDevice(BLEDevice)'は何ですか? – Laurence
私は 'NotifyDevice'が50ms以上続くことを理解しています。 50ms後に 'test_task'がキャンセルされた場合でも実行し続けますか(簡単な解決法)? –