Каждый метод должен принять собственное решение о том, использовать ли ConfigureAwait(false)
. Если этот метод нуждается в своем контексте (в данном случае HttpContext.Curent
/ culture / identity), то он не должен использовать ConfigureAwait(false)
.
. Помните, что этот код:
await MethodAsync().ConfigureAwait(false);
примерно такой же, как этот код:
var task = MethodAsync();
var configuredTask = task.ConfigureAwait(false);
await configuredTask;
Другими словами, MethodAsync
называется перед ConfigureAwait
. Таким образом, метод вызывается с текущим контекстом, а затем ожидаемая задача ожидает без захвата контекста.