Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 7562|Svar: 2

[.NET Core] ASP.NET Core huser In-Process og Out-of-Process modellerne i IIS

[Kopier link]
Opslået den 2022-5-14 13:18:08 | | | |
Da .NET Core er tværplatforms, kan ASP.NET Core-projekter køre både på Windows og Linux, og hvis de implementeres på Windows, kan de implementeres på IIS eller køres direkte via kommandolinjen, uafhængigt af IIS-tjenester, på grund af inkluderingen af Kestrel-containere i ASP.NET Core.

For mere information om, hvordan du udruller ASP.NET Core-applikationer til IIS-tjenester, kan du henvise til følgende:

Udrul ASP.NET Core til IIS-serveren
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core implementeres i IISUndervejsogUden for processenTo hostingmodeller

Ressourcer:

Hyperlink-login er synlig.
Hyperlink-login er synlig.


In-Process-model

Siden ASP.NET Core 3.0,In-process hosting er aktiveret som standard for alle applikationer, der er udrullet til IIS, ser web.config-filen sådan ud:

kan seshostingModel="inprocess", en in-process modelKestrel bruges ikke, men bruger i stedet IISHttpServer() til at implementere en ny webserver, der hostes direkte inde i IIS-applikationspoolen, hvilket minder lidt om, hvordan traditionel ASP.NET blev introduceret i IIS.

Følgende diagram illustrerer forholdet mellem IIS, ASP.NET Core-moduler og in-process hostede applikationer:



Når du prøver at få adgang til hjemmesiden, kan du se serveren via responsheaderen, som vist på billedet nedenfor:



Når man ser på processerne gennem jobhåndteringen, er der kun 2 processer, som vist i figuren nedenfor:



Out-of-Process-modellen

Denne model IIS fungerer som en reverse proxy, og når den modtager en anmodning, skal den videresende den til Kestrel-tjenesten, som er en tværplatform-webserver indlejret i ASP.NET Core-applikationer.

Følgende diagram illustrerer forholdet mellem IIS, ASP.NET Core-moduler og out-of-process hostede applikationer:



Vi ændrer web.config-filen som følger:

Når vi tilgår hjemmesiden via en browser, kan vi se, at serverværdien for responsheaderen er blevet til Kestrel, som vist i figuren nedenfor:



Da jeg kiggede på joblisten samtidig, fandt jeg ud af, at der er 3 processer, som vist i figuren nedenfor:



resumé

I InProcess-administreret model leveres anmodninger og svar gennem w3wp.exe eller IISExpress, mens det i OutOfProcess-arbejdsprocessen er dotnet.exe
I InProcess-administreret model bruges en enkelt webserver, mens der i OutOfProcess-administreret model kan bruges to webservere.

Den åbenlyse grund til at bruge den nye In-Process-model er, at den er hurtigere og bruger færre ressourcer,InProcess-styrede modellen giver bedre ydeevneFordi det kører direkte i processen i IIS-applikationspoolen. Der er ingen intern HTTP-trafik og overhead, og forespørgsler behandles straks.





Tidligere:Nginx tilføjer HTTP/2-protokol aktiveret
Næste:Forkert brug af HttpClient kan ødelægge din software
 Udlejer| Opslået den 14-5-2022 13:20:23 |
ASP.NET Præstation ind og ud af Core-processen:http://blog.iis7.com/article/5958.html
ASP.NET Core 5 ydelsestest under IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Opslået den 14-05-2022 kl. 15:07:14 |
Lær at lære
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com