Ich habe ein Async-Paket in .net 4.0 installiert. Dies gibt mir die Möglichkeit, in meinen Anwendungen async / await-Schlüsselwörter zu verwenden.
wie ich bis jetzt verstanden habe, kann ich meinen task.run-Code in async / await einpacken und dasselbe Ergebnis haben wie task.run mit continwith.
Stimmt das? oder gibt es tiefere Unterschiede?
Es hängt davon ab, was Sie mit ContinueWith
machen. Aber ja, oft können Sie await
verwenden, um dieselben Effekte zu erzielen, die Sie zuvor mit ContinueWith
erreicht haben. Was Sie nicht tun können Dinge wie "Fortfahren mit diesem Code nur bei Fehler" - Sie verwenden nur die normale Ausnahmebehandlung dafür. Wie AlexH sagt, wird es weitere Unterschiede im Gesamtverhalten Ihrer async
-Methode geben - aber in den meisten Fällen würde ich sagen, dass das wünschenswert ist. Grundsätzlich ist die Asynchronität der Code-Flows, so Async-Methoden neigen dazu, mehr asynchrone Methoden, etc. zu nennen.
Ich schlage vor, dass Sie sich darüber informieren, worum es bei async
/ await
geht (es gibt eine Menge Ressourcen - ich würde das " Verwenden der Task-basierten asynchronen Muster " Seite auf MSDN als einen Startpunkt.
Es wird einen Unterschied geben, wenn Sie ein asynchrones Schlüsselwort in Ihren Funktions-Prototypen einführen; Die Ausnahmen werden auf der Ebene des Task-Aufrufers ausgelöst. Ohne das async-Schlüsselwort müssen Sie den Status TaskContinuationOptions.OnlyOnFaulted überprüfen, um die Ausnahme zu erhalten.
Tags und Links .net c# async-await