Minor changes are by default collapsed in the page history.
No changes
The page does not exist yet.
Failed to load changes
Версия от на
Leave Collaboration
Are you sure you want to leave the realtime collaboration and continue editing alone? The changes you save while editing alone will lead to merge conflicts with the changes auto-saved by the realtime editing session.
Если внутри метода возникнет исключение, то будет возвращен Task с исключением
Task ActionAsync
Если внутри метода возникнет исключение, то оно будет проброшено наверх напрямую.
Если мы хотим сохранить общее поведение, то необходимо использовать конструкцию: try { return Task.CompletedTask; } catch (Exception ex) { return Task.FromException(ex); }
AsyncLocal
async Task ActionAsync
В случае, если внутри метода будет задано значение AsyncLocal контейнера, то при выходе из метода оно будет сброшено на родительское значение.
Task ActionAsync
В случае, если внутри метода будет задано значение AsyncLocal контейнера, то при выходе из метода оно не будет сброшено.
Выполнение кода
1)
var tasks = Enumerable .Range(0, 10) .Select( async e => { action1(); await Task.Delay(TimeSpan.FromSeconds(10)); action2(); } ) .ToArray(); await Task.WhenAll(tasks);
Action1 будут выполнены одним потоком (который вызвал Enumarable) последовательно друг за другом. После этого происходит асинхронное ожидание и прерывание потока исполнения. action2 будет выполнено после ожидания при этом поток его выполнения зависит от параметров SynchronizationContext | Контекст синхронизации окружения.