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

Utsikt: 7562|Svare: 2

[.NET Core] ASP.NET Core er vert for In-Process og Out-of-Process modellene i IIS

[Kopier lenke]
Publisert 14.05.2022 13:18:08 | | | |
Siden .NET Core er plattformuavhengig, kan ASP.NET Core-prosjekter kjøres både på Windows og Linux, og hvis de distribueres på Windows, kan de distribueres på IIS eller kjøres direkte via kommandolinjen, uavhengig av IIS-tjenester, på grunn av inkluderingen av Kestrel-containere i ASP.NET Core.

For mer informasjon om hvordan du distribuerer ASP.NET Core-applikasjoner til IIS-tjenester, kan du se følgende:

Distribuer ASP.NET Core til IIS-serveren
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core distribueres i IISPågående prosessogUt-av-prosessTo hostingmodeller

Ressurser:

Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.


In-Process-modellen

Siden ASP.NET Core 3.0,In-process hosting er aktivert som standard for alle applikasjoner som distribueres til IIS, ser web.config-filen slik ut:

kan seeshostingModel="inprocess", en modell under prosesseringTårnfalk brukes ikke, men bruker i stedet IISHttpServer() for å implementere en ny webserver som hostes direkte inne i IIS-applikasjonspoolen, noe som ligner på hvordan tradisjonell ASP.NET ble introdusert i IIS.

Følgende diagram illustrerer forholdet mellom IIS, ASP.NET Core-moduler og driftende hostede applikasjoner:



Når du prøver å få tilgang til nettsiden, kan du se serveren gjennom responshodet, som vist på bildet nedenfor:



Når man ser på prosessene gjennom oppgavebehandlingen, finnes det bare 2 prosesser, som vist i figuren under:



Out-of-Process-modellen

Denne modellen IIS fungerer som en omvendt proxy, og når den mottar en forespørsel, må den videresende den til Kestrel-tjenesten, som er en plattformuavhengig webserver innebygd i ASP.NET Core-applikasjoner.

Følgende diagram illustrerer forholdet mellom IIS, ASP.NET Core-moduler og ut-av-prosess hostede applikasjoner:



Vi endrer web.config-filen som følger:

Når vi får tilgang til nettstedet via en nettleser, kan vi se at serververdien til responsheaderen har blitt Kestrel, som vist i figuren nedenfor:



Da jeg så på oppgavebehandleren samtidig, fant jeg ut at det er 3 prosesser, som vist i figuren under:



sammendrag

I InProcess-administrert modell leveres forespørsler og svar gjennom w3wp.exe eller IISExpress, mens det i OutOfProcess-arbeidsprosessen som er involvert, er dotnet.exe
I InProcess-administrert modell brukes én enkelt webserver, mens i OutOfProcess-administrert modell kan to webservere brukes.

Den åpenbare grunnen til å bruke den nye In-Process-modellen er at den er raskere og bruker færre ressurser,InProcess-administrerte modellen gir bedre ytelseFordi den kjører direkte i prosessen med IIS-applikasjonspoolen. Det er ingen intern HTTP-trafikk eller overhead, og forespørsler behandles umiddelbart.





Foregående:Nginx legger til HTTP/2-protokoll aktivert
Neste:Feil bruk av HttpClient kan ødelegge programvaren din
 Vert| Publisert 14.05.2022 kl. 13:20:23 |
ASP.NET Ytelse inn og ut av Core-prosessen:http://blog.iis7.com/article/5958.html
ASP.NET Core 5 ytelsestest under IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Publisert 2022-05-14 15:07:14 |
Lær å lære
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