Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20310|Svar: 0

[ASP.NET] ASP.NET använder asynkrona styrenheter i MVC

[Kopiera länk]
Publicerad på 2018-04-01 15:20:59 | | |
Trådpool

Jag har alltid velat skriva om projektet till asynkront, men ASP.NETMVC3 är för omständligt att skriva, .NET 4.5 och ASP.NET MVC-kod är relativt enkelt, Microsoft verkar alltid ha gillat att göra detta, varje mogen sak måste utveckla flera versioner för att kunna standardiseras. ASP.NET varför du behöver använda asynkront i MVC? IIS har en trådpool för att behandla användarförfrågningar, när en ny förfrågan kommer kommer trådarna i poolen att schemaläggas för att behandla förfrågan, men när samtidigheten är hög kan trådarna i poolen inte längre möta så många förfrågningar, och varje tråd i poolen är upptagen när förfrågan behandlas, tråden som behandlar förfrågan blockeras, och tråden kan inte tillhandahålla tjänster till en annan förfrågan, om förfrågningskön är full, webben Servern avvisar förfrågan och är i ett HTTP 503-upptaget tillstånd. Om du har hög latens, som nätverksoperationer, väntar de flesta av dessa trådar bara på tillståndet och gör oftast ingenting, sådana trådar kan använda asynkron programmering för att bättre utnyttja det.

Asynkron bearbetning

Till exempel, om en förfrågan genererar ett nätverksanrop som tar två sekunder att slutföra, görs förfråganDet tar två sekunder att köra både synkront och asynkront。 MenUnder ett asynkront anrop blockerar servern inte svaret på andra förfrågningar medan den väntar på att den första förfrågan ska slutföras。 Därför kan asynkrona förfrågningar förhindra kö när många förfrågningar anropar långvariga operationer. I .NET 4.5 är den maximala trådpoolen 5000, och nyckelorden await och async har också lagts till i .NET 4.5 för att förenkla asynkron programmering.

Synkron eller asynkron (utdrag från MSDN)

  • Vanligtvis används synkpipelines när följande villkor är uppfyllda:
  • Enkel drift eller kort drifttid.
  • Enkelhet är viktigare än effektivitet.
  • Denna operation är främst CPU-operationer snarare än operationer som involverar mycket disk- eller nätverksöverhead. Att använda en asynkron operationsmetod för CPU-bundna operationer ger ingen fördel och leder dessutom till mer overhead.

Generellt används asynkrona pipelines när följande villkor är uppfyllda:

  • Operationerna är nätverksbundna eller I/O-bundna snarare än CPU-bundna.
  • Tester har visat att blockeringsoperationer är en flaskhals för platsens prestanda, och genom att använda asynkrona metoder för dessa blockeringsanrop kan IIS hantera fler förfrågningar.
  • Parallellism är viktigare än enkelhet i koden.
  • Du vill erbjuda en mekanism som gör det möjligt för användare att avbryta långvariga förfrågningar.

ASP.NET använder asynkrona styrenheter i MVC






Föregående:WPF mvvm-ramverkets stilematerial, dokumentöversättning och lärmaterial
Nästa:[Windows API] Kodassistent för C# Query API [med källkod]
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com