2
Haben Sie eine Frage über den richtigen Weg zur sofortigen Beendigung der Aufgabe. Zum Beispiel habe ich den folgenden Code:Was ist der richtige Weg zum Beenden von Aufgaben?
public async Task<string> DoAsync()
{
var result = await Task.Run(() =>
{
//Some heavy request here in a row (5 seconds per request)
DoHeavyRequest(); // 1
DoHeavyRequest(); // 2
DoHeavyRequest(); // 3
DoHeavyRequest(); // 4
return "success";
});
return results;
}
Wie ich diese Aufgabe in einem Moment abbrechen? Zum Beispiel, ich führe die Aufgabe für 7 Sekunden, ich erwarte, dass nur erste und wahrscheinlich zweite "schwere Anfragen" würde aufgerufen werden, 3-4 werden überhaupt nicht aufgerufen werden.
Vielen Dank im Voraus.
'CancellationTokenSource',' CancellationToken'? –
Sie können es nicht einfach beenden. Sie sollten eine kooperative Kündigung mit 'CancellationToken' und Freunden verwenden. – Evk