Asynchronous Paraan ng Tawag

May -Akda: Lewis Jackson
Petsa Ng Paglikha: 8 Mayo 2021
I -Update Ang Petsa: 25 Hunyo 2024
Anonim
gRPC C# Tutorial [Part 5] - AspNetCore gRPC Deadline - gRPC Deadline Propogation C#
Video.: gRPC C# Tutorial [Part 5] - AspNetCore gRPC Deadline - gRPC Deadline Propogation C#

Nilalaman

Kahulugan - Ano ang ibig sabihin ng Asynchronous Method Call Call?

Ang isang tawag na walang tulin na paraan ay isang pamamaraan na ginamit sa .NET programming na bumalik sa tumatawag sa kaagad bago matapos ang pagproseso nito at nang walang pagharang sa pagtawag sa thread.

Kapag tumatawag ang isang application ng isang hindi pantay na pamamaraan, maaari itong sabay-sabay na isinasagawa kasama ang pagpapatupad ng paraan na hindi sinasadya na nagsasagawa ng gawain. Ang isang asynchronous na pamamaraan ay tumatakbo sa isang thread na hiwalay mula sa pangunahing thread ng aplikasyon. Ang mga resulta ng pagproseso ay nakuha sa pamamagitan ng isa pang tawag sa ibang thread.

Ang mga Asynchronous na pamamaraan ay makakatulong na ma-optimize ang pagpapatupad ng mga mapagkukunan na nagreresulta sa nasusukat na aplikasyon. Ginagamit ito upang isakatuparan ang mga gawain sa pag-ubos ng oras tulad ng pagbubukas ng malalaking file, pagkonekta sa mga malalayong computer, pag-query sa isang database, pagtawag sa mga serbisyo sa Web at mga form ng ASP.NET Web.

Ang tawag na paraan ng Asynchronous na tawag ay maaari ring tawaging asynchronous method invocation (AMI).


Isang Panimula sa Microsoft Azure at ang Microsoft Cloud | Sa buong gabay na ito, malalaman mo kung ano ang lahat ng cloud computing at kung paano makakatulong ang Microsoft Azure sa iyo upang lumipat at patakbuhin ang iyong negosyo mula sa ulap.

Ipinapaliwanag ng Techopedia ang Asynchronous Method Call

Ang pamamaraan ng Asynchronous ay naiiba mula sa magkakasabay na pamamaraan sa paraan kung saan ito bumalik mula sa tawag. Habang ang isang tawag na paraan ng tularan ay bumalik kaagad, na nagpapahintulot sa pagtawag sa programa na magsagawa ng iba pang mga operasyon, ang mga naka-sync na pamamaraan ng tawag ay naghihintay na makumpleto ang pamamaraan bago magpatuloy sa daloy ng programa.

Ang balangkas ng .NET ay may inbuilt na hindi naaangkop na imprastraktura upang ang anumang pamamaraan ay maaaring asynchronously na hinihiling nang hindi binabago ang code nito.

Ang balangkas ng NET ay nagbibigay ng dalawang pattern ng disenyo upang maipatupad ang paraan ng asynchronous, na kung saan ay ang mga gumagamit ng mga delegado ng asynchronous (IASyncResult object) at mga kaganapan. Ang mga pattern ng Asynchronous delegates ay mas kumplikado at nagbibigay ng kakayahang umangkop, na ginagawang maayos ito sa iba't ibang mga kumplikadong modelo ng programming. Ang modelo na batay sa kaganapan ay simple at dapat gamitin sa karamihan ng mga kaso.

Sa pattern ng asynchronous delegates, ang isang delegado na object ay gumagamit ng dalawang pamamaraan: StartInvoke at EndInvoke. Ang StartInvoke ay may listahan ng mga parameter, na kung saan ay katulad ng nakabalot na function nito, kasama ang dalawang karagdagang mga opsyonal na mga parameter; ibabalik nito ang object ng IAsyncResult. Ang EndInvoke ay nagbabalik ng dalawang mga parameter (out and ref type) kasama ang object ng IAsyncResult. Ginagamit ang StartInvoke para sa pagsisimula ng tawag na hindi sinasadya, samantalang ang EndInvoke ay ginagamit upang makuha ang mga resulta ng tawag na hindi sinasadya.

Ang mga pattern na nakabatay sa mga kaganapan na hindi naka-sync ay gumagamit ng isang klase na mayroong isa o higit pang mga pamamaraan, na pinangalanan MethNameAsync, na may kaukulang mga magkakasabay na bersyon na isinasagawa sa kasalukuyang thread. Ang mga pattern na nakabase sa mga kaganapan ay maaari ring magkaroon ng isang KaganapanNaganap na kumpleto na kaganapan at pamamaraan ng PamaraanNameAsyncCancel. Pinapayagan ng pattern na ito ang klase na makipag-usap sa nakabinbing mga operasyon na walang tulay gamit ang modelo ng event ng delegate.

Ang mga sumusunod ay ilang mga tip na may kaugnayan sa mga pamamaraan ng asynchronous:


  • Para sa mataas na pagkakasundo, ang mga pamamaraan ng hindi magkakasabay ay dapat iwasan
  • Kailangang gawin ang pangangalaga habang ipinapasa ang mga pinagsamang sangguniang object
  • Ang EndXXX (tinawag sa pagtatapos ng isang hindi sinasadya na operasyon) ay dapat tawagan sa pagbubukod ng rethrow at maiwasan ang pagkabigo
  • Sa pamamagitan ng paghuli at pag-save ng lahat ng mga bagay na pagbubukod sa paraan ng hindi pinagsama, maaari itong mai-rethrown sa panahon ng pagtawag sa EndXXX
  • Kailangang hindi paganahin ang mga kontrol sa interface ng gumagamit na nagpapasimula ng matagal na pagpapatakbo ng asynchronous kung kinakailangan lamang ito para sa hangaring iyon
  • Ang mga Asynchronous na pamamaraan ay dapat ipatupad sa isang pag-unawa sa multithreading at kung saan napatunayan nilang mas mahusay kaysa sa paggamit ng mga kasabay na pamamaraan.