Entspricht ContinueWith (Delegat, CancellationToken) mit wait-Continuation
Ich habe diese Situation:
private Task LongRunningTask = /* Something */;
private void DoSomethingMore(Task previousTask) { }
public Task IndependentlyCancelableSuccessorTask(CancellationToken cancellationToken)
{
return LongRunningTask.ContinueWith(DoSomethingMore, cancellationToken);
}
Insbesondere das Verhalten, das mich hier interessiert, ist ausführlich inMSDN-Seite zu Fortsetzungsaufgaben in den folgenden Begriffen:
Eine Fortsetzung geht in dieCanceled
Zustand in diesen Szenarien:
System.Threading.CancellationToken
als Argument und dieIsCancellationRequested
Eigentum des Tokens isttrue
bevor die Fortsetzung läuft. In einem solchen Fall startet die Fortsetzung nicht und sie geht zum überCanceled
Zustand.Der obige Code funktioniert. Ich bin jedoch dabei, so viele wie möglich von meinen Fortsetzungen auf die Verwendung desawait
Stichwort.
Gibt es eine äquivalente Verwendung vonawait
das würde erlauben, die Fortsetzung abzubrechen, bevor die erwartete Aufgabe abgeschlossen ist?