Satura rādītājs
Izveidojiet asinhronu kontrolieri
Tradicionāli tīmekļa lietojumprogrammas plūsma ir sinhroni, tas ir, mēs iesniedzam pieprasījumu serverim un apstājamies, gaidot atbildi, līdz apmēram pirms 5 gadiem šis modelis bija derīgs, tomēr ar jaunajām prasībām un jaunajiem rīkiem mums jau vajadzīgs kaut kas dinamiskāks.
Asinhrona lietojumprogrammaAsinhrona lietojumprogramma ir tāda, kas ļauj mums veikt dažādas darbības, kas netraucē viena otrai, un katra no tām apspriež citu daļu pret serveri, vienlaikus saglabājot dokumentu, mēs varam iepazīties ar citu, negaidot atbildi, šāda veida lietojumprogrammu piemērs ir Gmail, kur, sūtot e -pastu, mēs varam redzēt iesūtni.
Šajā sadaļā mēs redzēsim, kas ir asinhronais kontrolieris un kā to izveidot, izmantojot ASP.NET MVC.
Viena no vissvarīgākajām mūsu lietojumprogrammu sastāvdaļām ir kontrolieri ASP.NET MVC mēs varam likt tiem strādāt asinhroni, tādējādi novēršot procesu sabrukumu, veicot vaicājumu.
Vītņu slēdzeneLai gan lielākoties šis aizsprostojums ir tik mazs, ka šķiet, ka vienlaikus tiek veiktas vairākas lietas, ir reizes, kad mums ir jāsagatavo daudz smagāks process, un tas bloķētu darba pavedienu tādā veidā, ka process bads, tas ir, procesi, kas gaida pavedienu tik ilgi, ka mirst.
Tas notiek tāpēc, ka serveris sāk sakraut gaidīšanas procesus un pienāk brīdis, kad vieta, ko tas var izmantot, pārplūst, un mēs redzēsim, ka tik populārā pakalpojuma kļūda 503 nav pieejama, lai no tā izvairītos, mēs varam izveidot asinhronais kontrolieris, kas nesamazina procesa pēdējo izpildes laiku, bet atbrīvo apstrādes pavedienu, lai citi procesi to varētu izmantot.
Lai mūsu kontrolieris būtu asinhrons, mums ir jāievēro tā darbību pamatstruktūra, tādā veidā mēs varam sasniegt savu mērķi, jo mums ir jāievēro dažas konvencijā noteiktās konvencijas. Apskatīsim, kas mums nepieciešams:
Asinhrona darbībaMums ir jāizveido sava kontroliera darbība, kurā ir vārds Async viņa vārdā, pēc vienošanās ASP.NET MVC jūs zināt, kas ir asinhronais process. Piemērs var būt SearchBooksAsync, turklāt šai darbībai vai metodei ir jābūt atgriešanās nav spēkā.
Darbība pabeigtaPēc tam mums ir jāizveido darbība, ko varam izsaukt, kad ir pabeigts asinhronais process, jo mums ir jāizveido darbība, kas var apstrādāt ActionResult, šim nolūkam mums ir jāizveido metode ar vārdu Pabeigts jūsu vārdā, piemēram: SearchBooksPabeigts, līdz ar to mums jau būs nepieciešamie pamatelementi.
Kā redzam, mums nav daudz vajadzīgs, lai izveidotu asinhronu kontrolieri, galvenokārt ir jāizstrādā loģika un nedaudz jāievēro konvencijas, lai sistēma varētu noteikt, ko mēs veidojam lietojumprogrammā. Asinhronās programmēšanas pamati ASP.NET MVC Tie nemaz nav sarežģīti, šīs apmācības otrajā daļā papildus citiem svarīgiem jēdzieniem mēs redzēsim pilnīgāku piemēru, kā izveidot asinhronu kontrolieri.
Iepriekšējais1 lapa no 2Nākamais