Исключения | Exception 
async Task ActionAsyncЕсли внутри метода возникнет исключение, то будет возвращен Task с исключением
Task ActionAsync

Если внутри метода возникнет исключение, то оно будет проброшено наверх напрямую.

Если мы хотим сохранить общее поведение, то необходимо использовать конструкцию:
try
{
   return Task.CompletedTask;
}
catch (Exception ex)
{
   return Task.FromException(ex);
}

AsyncLocal
async Task ActionAsyncВ случае, если внутри метода будет задано значение AsyncLocal контейнера, то при выходе из метода оно будет сброшено на родительское значение.
Task ActionAsyncВ случае, если внутри метода будет задано значение AsyncLocal контейнера, то при выходе из метода оно не будет сброшено.
  

 

Теги: