Асинхронен метод за повикване

Автор: Lewis Jackson
Дата На Създаване: 8 Може 2021
Дата На Актуализиране: 25 Юни 2024
Anonim
Janki-метод: Как быстрее и эффективнее учиться
Видео: Janki-метод: Как быстрее и эффективнее учиться

Съдържание

Определение - Какво означава Обаждане на асинхронен метод?

Обаждането на асинхронен метод е метод, използван в програмирането на .NET, който се връща към обаждащия се непосредствено преди завършването на неговата обработка и без да блокира извикващата нишка.

Когато приложението извика асинхронен метод, то може едновременно да изпълни заедно с изпълнението на асинхронния метод, който изпълнява задачата си. Асинхронен метод работи в нишка, отделна от основната нишка на приложение. Резултатите от обработката се получават чрез друго повикване в друга нишка.

Асинхронните методи помагат да се оптимизира изпълнението на ресурси, което води до мащабируемо приложение. Те се използват за изпълнение на отнемащи време задачи като отваряне на големи файлове, свързване към отдалечени компютри, заявка на база данни, извикване на уеб услуги и уеб форми ASP.NET.

Извикването на асинхронен метод може също да бъде наричано извикване на асинхронен метод (AMI).


Въведение в Microsoft Azure и Microsoft Cloud | В това ръководство ще научите за какво се занимава компютърните изчисления и как Microsoft Azure може да ви помогне да мигрирате и стартирате бизнеса си от облака.

Techopedia обяснява асинхронен метод за повикване

Асинхронен метод се различава от синхронен метод по начина, по който се връща от повикването. Докато повикването на асинхронен метод се връща незабавно, което позволява на извикващата програма да извършва други операции, обажданията на синхронния метод изчакват метода да приключи, преди да продължите с потока на програмата.

Рамката .NET има вградена асинхронна инфраструктура, така че всеки метод може да бъде извикан асинхронно, без да променя своя код.

.NET Framework предоставя два модела на проектиране за реализиране на асинхронен метод, които са тези, използващи асинхронни делегати (IASyncResult обекти) и събития. Асинхронният модел на делегати е по-сложен и осигурява гъвкавост, което го прави добре подходящ за различни сложни модели на програмиране. Моделът, основан на събития, е прост и трябва да се използва в повечето случаи.

В модела на асинхронния делегат делегатният обект използва два метода: BeginInvoke и EndInvoke. BeginInvoke има списък с параметри, които са подобни на неговата обвита функция, заедно с два допълнителни незадължителни параметъра; тя връща обекта IAsyncResult. EndInvoke връща два параметъра (вън и тип ref) заедно с обекта IAsyncResult. BeginInvoke се използва за иницииране на асинхронно повикване, докато EndInvoke се използва за извличане на резултатите от асинхронното повикване.

Асинхронните модели на базата на събития използват клас, който има един или повече методи, наречени MethodNameAsync, които имат съответните синхронни версии, които се изпълняват в текущата нишка. Моделите, базирани на събития, могат също да имат метод на събитие MethodNameCompleted и метод MethodNameAsyncCancel. Този модел дава възможност на класа да комуникира с чакащи асинхронни операции, използвайки модела на делегат на събитие.

Следват няколко съвета, свързани с асинхронните методи:


  • За висока съвместимост трябва да се избягват асинхронни методи
  • Трябва да се внимава, докато се предават споделени препратки към обекти
  • EndXXX (наречен в края на асинхронна операция) трябва да бъде извикан, за да пренасочи изключения и да избегне неуспех
  • Чрез улавяне и запазване на всички обекти на изключение в асинхронен метод, той може да бъде преоткрит по време на повикването EndXXX
  • Контролите в потребителския интерфейс, които инициират продължителни асинхронни операции, трябва да бъдат деактивирани, ако са необходими само за тази цел
  • Асинхронните методи трябва да се прилагат с разбиране за многопоточност и където те се оказват по-ефективни от използването на синхронни методи.