Diferença entre Tarefa e Assíncrona
O C # fornece duas maneiras de criar métodos assíncronos:
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 os métodos acima são assíncronos e conseguem a mesma coisa. Então, quando devo escolher um método sobre o outro? Existem diretrizes ou vantagens em usar um sobre o outro?