У меня есть метод, который более или менее выглядит следующим образом:
public async Task PossiblyAsync(bool amIlucky)
{
if (amIlucky)
await Task.Delay(9000);
return;
}
В некоторых случаях я точно знаю, что в нем не будет вызываться asyn c codepathes, но все же мне нужно сделать все асин c на самый верх. Что само по себе не является проблемой, но мне интересно, если это приведет к ненужным накладным расходам, когда идеально синхронизированный c код притворяется асинхронным c, оборачивая все результаты в Task<T>
и выполняя «кто знает, что еще» .
Кроме того, я бы очень хотел, чтобы он не переходил между потоками. Я не уверен, может ли это произойти, тем более что в ядре asp net отсутствует контекст синхронизации. Но опять же, я не совсем понимаю, что такое контекст синхронизации:)
Каков самый правильный способ вызова такого метода?