Как ожидают асинхронной работы в C # [закрыто]

Я пытаюсь понять, как ожидают асинхронную работу в C #, и одна вещь меня сильно смущает. Я понимаю, что любой метод, использующий ключевое слово await, должен быть помечен как асинхронный. Насколько я понимаю, когда строка с ключевым словом await нажата, код под этой строкой не выполняется. Асинхронная операция запускается для выполнения оператора в строке ожидания, а элемент управления возвращается вызывающему методу, который может продолжить выполнение.

Вопрос № 1: это предположение верно или код под ключевым словом await все еще выполняется?

Во-вторых, предположим, что я вызвал метод сервиса async и должен вернуть его результат. Оператор возврата находится ниже ключевого слова await.

Вопрос № 2: Когда выполняется оператор return после завершения асинхронного вызова или до него?

Вопрос № 3: Я хочу использовать результат этого вызова службы, и асинхронная операция не поможет, потому что я хочу, чтобы вызывающий метод был вызван при возврате результата. Я понимаю, что это можно сделать с помощью свойства Result, которое делает вызов синхронным. Но тогда зачем использовать асинхронность в операциях с БД, потому что именно они занимают 80% времени в большинстве приложений.

Вопрос № 4: Как я могу использовать асинхронные операции с БД? Это возможно и рекомендуется?

Вопрос № 5: В каком сценарии будут полезны асинхронные операции, кажется, что каждый API просто выполняет асинхронные операции сейчас без причины? или я упустил смысл использования асинхронных операций?

Я имею в виду, говоря, что api создает асинхронные методы без причины, потому что методы должны что-то возвращать и до тех пор, пока не будет произведено вычисление, как они могут вернуться, так что, по сути, вызов не будет по-прежнему блокировать в том смысле, что он будет бесполезен до результат возвращается?

Ответы на вопрос(2)

Ваш ответ на вопрос