четверг, 2 июня 2016 г.

Ограничения для Async - где нельзя применять !



Async применять нельзя в/для :

  • функции - точке входа программы ( функция Main не может быть async)
  • конструкторе класса, property get/set методы, и методы для event add/remove
  • функции с параметрами out / ref
  • никаких await в catch, finally и unsafe блоках ( начиная с C# 6 - можно в catch, finally )
  • также нельзя использовать в блокировках lock или Monitor Enter/Exit
    • вместо этого используйте SemaphoreSlim.WaitAsync
  • в запросах (например linq) await можно использовать только
    • в первой коллекции from или join

Комментариев нет :

Отправить комментарий