Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 20310|Svare: 0

[ASP.NET] ASP.NET bruker asynkrone kontrollere i MVC

[Kopier lenke]
Publisert på 01.04.2018 15:20:59 | | |
Trådpool

Jeg har alltid ønsket å skrive om prosjektet til asynkront, men ASP.NETMVC3 er for tungvint å skrive, .NET 4.5 og ASP.NET MVC-kode er relativt enkelt, MS ser ut til alltid å ha likt å gjøre dette, alt modent må det utvikle flere versjoner for å kunne standardiseres. ASP.NET hvorfor du må bruke asynkront i MVC? IIS har en trådpool for å behandle brukerforespørsler. Når en ny forespørsel kommer, vil trådene i poolen bli planlagt til å behandle forespørselen, men når samtidigheten er høy, kan trådene i poolen ikke lenger møte så mange forespørsler, og hver tråd i poolen er opptatt når forespørselen behandles, vil tråden som behandler forespørselen bli blokkert, og tråden kan ikke levere tjenester til en annen forespørsel. Hvis forespørselskøen er full, vil weben være Serveren avviser forespørselen og er i en HTTP 503 opptatt-tilstand. Hvis du har høy forsinkelse, som nettverksoperasjoner, venter de fleste av disse trådene bare på tilstanden og gjør ingenting mesteparten av tiden, slike tråder kan bruke asynkron programmering for å utnytte det bedre.

Asynkron prosessering

For eksempel, hvis en forespørsel genererer et nettverkskall som tar to sekunder å fullføre, blir forespørselen gjortDet tar to sekunder å utføre både synkront og asynkront。 MenUnder et asynkront kall blokkerer ikke serveren svaret på andre forespørsler mens den venter på at den første forespørselen skal fullføres。 Derfor, når det er mange forespørsler som kaller langvarige operasjoner, kan asynkrone forespørsler forhindre at forespørsler kommer i kø. I .NET 4.5 er maksimal trådpool 5000, og nøkkelordene await og async er også lagt til i .NET 4.5 for å forenkle asynkron programmering.

Synkron eller asynkron (utdrag fra MSDN)

  • Vanligvis brukes synkroniseringspipelines når følgende betingelser er oppfylt:
  • Enkel drift eller kort driftstid.
  • Enkelhet er viktigere enn effektivitet.
  • Denne operasjonen er primært CPU-operasjoner, snarere enn operasjoner som involverer mye disk- eller nettverksoverhead. Å bruke en asynkron operasjonsmetode for CPU-bundne operasjoner gir ingen fordel og fører også til mer overhead.

Generelt brukes asynkrone rørledninger når følgende betingelser er oppfylt:

  • Operasjonene er nettverksbundne eller I/O-bundne i stedet for CPU-bundne.
  • Tester har vist at blokkeringsoperasjoner er en flaskehals for nettstedets ytelse, og ved å bruke asynkrone metoder for disse blokkeringskallene, kan IIS betjene flere forespørsler.
  • Parallellisme er viktigere enn enkelhet i koden.
  • Du ønsker å tilby en mekanisme som lar brukere kansellere langvarige forespørsler.

ASP.NET bruker asynkrone kontrollere i MVC






Foregående:WPF mvvm-rammeverket stilert dokumentoversettelse og læringsmateriell
Neste:[Windows API] Kodeassistent for C# Query API [med kildekode]
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com