Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 7562|Antwoord: 2

[.NET Core] ASP.NET Core host de In-Process en Out-of-Process modellen in IIS

[Link kopiëren]
Geplaatst op 14-5-2022 13:18:08 | | | |
Omdat .NET Core cross-platform is, kunnen ASP.NET Core-projecten zowel op Windows als Linux draaien, en als ze op Windows worden geïmplementeerd, kunnen ze worden ingezet op IIS of direct via de commandoregel, onafhankelijk van IIS-services, vanwege de opname van Kestrel-containers in ASP.NET Core.

Voor meer informatie over hoe u ASP.NET Core-applicaties naar IIS-diensten kunt uitrollen, kunt u het volgende raadplegen:

Deploy ASP.NET Core naar de IIS-server
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core wordt ingezet in IISIn behandelingenBuiten procesTwee hostingmodellen

Weg:

De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.


In-Process model

Sinds ASP.NET Core 3.0,In-process hosting is standaard ingeschakeld voor alle applicaties die naar IIS zijn geïmplementeerd, het web.config-bestand ziet er zo uit:

kan worden gezienhostingModel="inprocess", een in-process modelKestrel wordt niet gebruikt, maar gebruikt in plaats daarvan IISHttpServer() om een nieuwe webserver te implementeren die direct binnen de IIS-applicatiepool wordt gehost, wat enigszins lijkt op hoe traditionele ASP.NET in IIS werd geïntroduceerd.

Het volgende diagram illustreert de relatie tussen IIS, ASP.NET Core-modules en in-process gehoste applicaties:



Als je probeert toegang te krijgen tot de website, kun je de server zien via de antwoordheader, zoals te zien is op de onderstaande afbeelding:



Als je naar de processen kijkt via Taakbeheer, zijn er slechts 2 processen, zoals weergegeven in de onderstaande figuur:



Out-of-Process model

Dit model IIS fungeert als een reverse proxy, en wanneer het een verzoek ontvangt, moet het dit doorsturen naar de Kestrel-service, een cross-platform webserver die is ingebed in ASP.NET Core-applicaties.

Het volgende diagram illustreert de relatie tussen IIS, ASP.NET Core-modules en out-of-process gehoste applicaties:



We passen het web.config-bestand als volgt aan:

Wanneer we de website via een browser bezoeken, zien we dat de serverwaarde van de responsheader is veranderd in Kestrel, zoals te zien is in de onderstaande figuur:



Toen ik tegelijkertijd naar Taakbeheer keek, zag ik dat er 3 processen zijn, zoals te zien is in de onderstaande figuur:



samenvatting

In het InProcess managed model worden verzoeken en antwoorden geleverd via w3wp.exe of IISExpress, terwijl het in het OutOfProcess-workerproces dat betrokken is, het is dotnet.exe
In het InProcess managed model wordt één webserver gebruikt, terwijl in het OutOfProcess managed model twee webservers kunnen worden gebruikt.

De voor de hand liggende reden om het nieuwe In-Process-model te gebruiken is dat het sneller is en minder middelen gebruikt,Het InProcess managed model biedt betere prestatiesOmdat het direct in het proces van de IIS-applicatiepool draait. Er is geen intern HTTP-verkeer en overhead, en verzoeken worden direct verwerkt.





Vorig:Nginx voegt HTTP/2-protocol toe ingeschakeld
Volgend:Verkeerd gebruiken van HttpClient kan je software kapot maken
 Huisbaas| Geplaatst op 2022-5-14 13:20:23 |
ASP.NET Prestaties binnen en buiten het Core-proces:http://blog.iis7.com/article/5958.html
ASP.NET Core 5 prestatietest onder IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Geplaatst op 14-5-2022 15:07:14 |
Leer leren
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com