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

Utsikt: 7562|Svar: 2

[.NET Core] ASP.NET Core är värd för In-Process och Out-of-Process modeller i IIS

[Kopiera länk]
Publicerad den 2022-5-14 13:18:08 | | | |
Eftersom .NET Core är plattformsoberoende kan ASP.NET Core-projekt köras på både Windows och Linux, och om de distribueras på Windows kan de distribueras på IIS eller köras direkt via kommandoraden, oberoende av IIS-tjänster, tack vare inkluderingen av Kestrel-containrar i ASP.NET Core.

För mer information om hur man distribuerar ASP.NET Core-applikationer till IIS-tjänster kan du hänvisa till följande:

Distribuera ASP.NET Core till IIS-servern
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core är distribuerad i IISUnder processochUtgångsprocessTvå värdmodeller

Resurser:

Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.


In-process-modellen

Sedan ASP.NET Core 3.0,In-process hosting är aktiverad som standard för alla applikationer som distribueras till IIS, ser web.config-filen ut så här:

kan seshostingModel="inprocess", en modell under processenKestrel används inte, men använder istället IISHttpServer() för att implementera en ny webbserver som hostas direkt i IIS-applikationspoolen, vilket påminner om hur traditionell ASP.NET introducerades i IIS.

Följande diagram illustrerar relationen mellan IIS, ASP.NET Core-moduler och driftbaserade applikationer under processen:



När du försöker komma åt webbplatsen kan du se servern via svarshuvudet, som visas på bilden nedan:



Om man tittar på processerna via aktivitetshanteraren finns det bara 2 processer, som visas i figuren nedan:



Out-of-process-modellen

Denna modell IIS fungerar som en omvänd proxy, och när den tar emot en förfrågan måste den vidarebefordra den till Kestrel-tjänsten, som är en plattformsoberoende webbserver inbäddad i ASP.NET Core-applikationer.

Följande diagram illustrerar relationen mellan IIS, ASP.NET Core-moduler och out-of-process hostade applikationer:



Vi modifierar web.config-filen enligt följande:

När vi besöker webbplatsen via en webbläsare kan vi se att servervärdet för svarshuvudet har blivit Kestrel, som visas i figuren nedan:



När jag tittade på aktivitetshanteraren samtidigt såg jag att det finns 3 processer, som visas i figuren nedan:



sammanfattning

I InProcess-hanterad modell tillhandahålls förfrågningar och svar via w3wp.exe eller IISExpress, medan det i OutOfProcess-arbetsprocessen är dotnet.exe
I InProcess-hanterad modell används en enda webbserver, medan i OutOfProcess-hanterad modell kan två webbservrar användas.

Den uppenbara anledningen till att använda den nya In-Process-modellen är att den är snabbare och använder färre resurser,InProcess-hanterad modell ger bättre prestandaEftersom det körs direkt i processen i IIS-applikationspoolen. Det finns ingen intern HTTP-trafik eller overhead, och förfrågningar behandlas omedelbart.





Föregående:Nginx lägger till HTTP/2-protokoll aktiverat
Nästa:Att använda HttpClient felaktigt kan förstöra din mjukvara
 Hyresvärd| Publicerad 2022-5-14 13:20:23 |
ASP.NET Prestanda in och utanför Core-processen:http://blog.iis7.com/article/5958.html
ASP.NET Core 5-prestandatest under IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Publicerad den 2022-5-14 15:07:14 |
Lär dig att lära dig
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