Asinhronās metodes izsaukums

Autors: Lewis Jackson
Radīšanas Datums: 8 Maijs 2021
Atjaunināšanas Datums: 25 Jūnijs 2024
Anonim
Asynchronous Method Call
Video: Asynchronous Method Call

Saturs

Definīcija - ko nozīmē asinhronās metodes izsaukums?

Asinhronās metodes izsaukums ir .NET programmēšanā izmantotā metode, kas atgriežas pie zvanītāja tieši pirms tā apstrādes pabeigšanas un nebloķējot izsaucēja pavedienu.

Kad lietojumprogramma izsauc asinhrono metodi, tā var vienlaikus tikt izpildīta kopā ar asinhronās metodes izpildi, kas veic savu uzdevumu. Asinhronā metode darbojas pavedienā, kas atrodas atsevišķi no galvenā lietojuma pavediena. Apstrādes rezultāti tiek ienesti, izmantojot vēl vienu zvanu uz citu pavedienu.

Asinhronās metodes palīdz optimizēt resursu izpildi, iegūstot mērogojamu lietojumprogrammu. Tos izmanto, lai izpildītu laikietilpīgus uzdevumus, piemēram, atverot lielus failus, izveidojot savienojumu ar attālajiem datoriem, meklējot datu bāzes, zvanot uz Web pakalpojumiem un ASP.NET Web formām.

Asinhronās metodes izsaukumu var dēvēt arī par asinhronās metodes izsaukšanu (AMI).


Ievads Microsoft Azure un Microsoft Cloud | Šajā rokasgrāmatā jūs uzzināsit, kas ir mākonis skaitļošana un kā Microsoft Azure var palīdzēt jums migrēt un vadīt savu biznesu no mākoņa.

Techopedia izskaidro asinhronas metodes izsaukumu

Asinhronā metode atšķiras no sinhronās metodes tādā veidā, kādā tā atgriežas no zvana. Kamēr asinhronās metodes izsaukums nekavējoties atgriežas, ļaujot izsaucošajai programmai veikt citas darbības, sinhronās metodes izsaukumi pirms programmas plūsmas turpināšanas pagaida, līdz metode tiek pabeigta.

.NET ietvars ir iebūvēts asinhronajā infrastruktūrā, lai jebkuru metodi varētu izmantot asinhroni, nemainot tās kodu.

.NET satvars nodrošina divus dizaina modeļus asinhronās metodes ieviešanai, kas ir tie, kuros tiek izmantoti asinhroni delegāti (IASyncResult objekti) un notikumi. Asinhronā delegāta shēma ir sarežģītāka un nodrošina elastību, kas padara to labi piemērotu dažādiem sarežģītiem programmēšanas modeļiem. Uz notikumiem balstīts modelis ir vienkāršs, un tas ir jāizmanto vairumā gadījumu.

Asinhronā delegātu shēmā deleģētā objekts izmanto divas metodes: BeginInvoke un EndInvoke. BeginInvoke ir parametru saraksts, kas ir līdzīgs tā iesaiņotajai funkcijai, kā arī divi papildu izvēles parametri; tas atgriež objektu IAsyncResult. EndInvoke atgriež divus parametrus (izejas un atsauces tips) kopā ar objektu IAsyncResult. BeginInvoke tiek izmantots asinhrona zvana sākšanai, turpretī EndInvoke tiek izmantots asinhronā zvana rezultātu iegūšanai.

Uz notikumiem balstīti asinhroni modeļi izmanto klasi, kurai ir viena vai vairākas metodes ar nosaukumu MethodNameAsync, kurām ir atbilstošas ​​sinhronās versijas, kuras tiek izpildītas pašreizējā pavedienā. Notikumiem balstītos modeļos var būt arī metode MethodNameCompleted un MethodNameAsyncCancel. Šis modelis ļauj klasei sazināties ar gaidāmajām asinhronajām operācijām, izmantojot deleģēto notikumu modeli.

Šie ir daži padomi, kas saistīti ar asinhronajām metodēm:


  • Lai nodrošinātu augstu vienlaicīgumu, ir jāizvairās no asinhronām metodēm
  • Nododot kopīgas objekta atsauces, ir jāuzmanās
  • EndXXX (tiek saukts asinhronās operācijas beigās) ir jāizsauc, lai atkārtotu izņēmumus un izvairītos no kļūmēm
  • Noķerot un saglabājot visus izņēmuma objektus asinhronajā metodē, to var atkārtot EndXXX zvana laikā
  • Lietotāja saskarnē esošās vadīklas, kas sāk ilgstošas ​​asinhronās darbības, ir jāatspējo, ja tās ir vajadzīgas tikai šim mērķim
  • Asinhronās metodes jāīsteno ar izpratni par vairāku pavedienu veidošanu un to, kur tās izrādās efektīvākas nekā sinhrono metožu izmantošana.