Diferencia entre tarea y asíncrono
C # proporciona dos formas de crear métodos asincrónicos:
Método 1:
static Task<string> MyAsyncTPL() {
Task<string> result = PerformWork();
return result.ContinueWith(t => MyContinuation());
}
Método 2:
static async Task<string> MyAsync() {
string result = await PerformWork();
return MyContinuation();
}
Ambos métodos anteriores son asíncronos y logran lo mismo. Entonces, ¿cuándo debo elegir un método sobre el otro? ¿Existen pautas o ventajas de usar una sobre la otra?