Если метод отмечен как асинхронный, то он поставляется с любыми гарантиями?Что такое асинхронная гарантия?
Если нет, то каковы наилучшие методы для вызова методов асинхронизации для обеспечения неблокирующего поведения? (Особенно при вызове библиотеки сторонних производителей)
Longer версия:
До сих пор, я предположил, что ожидает метод асинхронной гарантированно не блокировать поток (если все сделано правильно). Тем не менее, у меня недавно было this situation (также случилось с others). В этом случае поведение (не) блокировки зависит от поставщика EF. Поскольку уровень пользовательского интерфейса не должен действительно знать или заботиться о деталях реализации поставщика БД, я полагаю, что имеет смысл обернуть все вызовы в Task.Run, чтобы обеспечить неблокирующее bahaviour. Но тогда мне не нужна асинхронная нигде, кроме слоя пользовательского интерфейса, что заставляет меня подвергать сомнению философию полного асинхронизации.
вы должны «ожидать» вызов метода асинхронного доступа iirc –
Для этого требуется небольшая работа, но одна вещь, которую он * не гарантирует, и это то, что вы не получите побочные эффекты любого кода, который вы вызовите или вне методов async. – Will
[Здесь] (https://docs.com/paulo-morgado/8860/async-await-general "async-wait general") представляет собой набор статей на 'async'-'await'. –