Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 7562|Antwort: 2

[.NET Core] ASP.NET Core beherbergt die In-Process- und Out-of-Process-Modelle im IIS

[Link kopieren]
Veröffentlicht am 14.5.2022, 13:18:08 | | | |
Da .NET Core plattformübergreifend ist, können ASP.NET Core-Projekte sowohl unter Windows als auch unter Linux ausgeführt werden, und wenn sie unter Windows bereitgestellt werden, können sie auf IIS bereitgestellt oder direkt über die Kommandozeile unabhängig von IIS-Diensten ausgeführt werden, dank der Integration von Kestrel-Containern in ASP.NET Core.

Für weitere Informationen darüber, wie Sie ASP.NET Core-Anwendungen auf IIS-Dienste bereitstellen, können Sie Folgendes nachlesen:

Bereite ASP.NET Core auf den IIS-Server bereit
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core wird im IIS eingesetztIm ProzessundAußerhalb des VerfahrensZwei Hosting-Modelle

Betriebsmittel:

Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.


In-Process-Modell

Seit ASP.NET Core 3.0,In-Process-Hosting ist standardmäßig für alle auf IIS bereitgestellten Anwendungen aktiviert, die web.config-Datei sieht so aus:

kann gesehen werdenhostingModel="inprocess", ein In-Process-ModellKestrel wird nicht verwendet, verwendet jedoch stattdessen IISHttpServer(), um einen neuen Webserver direkt im IIS-Anwendungspool zu implementieren, der der traditionellen Einführung von ASP.NET in IIS ähnelt.

Das folgende Diagramm veranschaulicht die Beziehung zwischen IIS, ASP.NET Core-Modulen und im Prozess gehosteten Anwendungen:



Wenn Sie versuchen, auf die Website zuzugreifen, können Sie den Server über den Antwort-Header sehen, wie im untenstehenden Bild gezeigt:



Betrachtet man die Prozesse im Taskmanager, gibt es nur zwei Prozesse, wie in der untenstehenden Abbildung gezeigt:



Out-of-Process-Modell

Dieses IIS-Modell fungiert als Reverse-Proxy und muss bei Erhalt einer Anfrage an den Kestrel-Dienst weitergeleitet werden, einen plattformübergreifenden Webserver, der in ASP.NET Core-Anwendungen eingebettet ist.

Das folgende Diagramm veranschaulicht die Beziehung zwischen IIS, ASP.NET Core-Modulen und außerhalb des Prozesses gehosteten Anwendungen:



Wir ändern die web.config-Datei wie folgt:

Wenn wir die Website über einen Browser aufrufen, sehen wir, dass der Serverwert des Response-Headers zu Kestrel geworden ist, wie in der untenstehenden Abbildung gezeigt:



Als ich gleichzeitig den Task-Manager betrachtete, stellte ich fest, dass es 3 Prozesse gibt, wie in der untenstehenden Abbildung gezeigt:



Zusammenfassung

Im InProcess-verwalteten Modell werden Anfragen und Antworten über w3wp.exe oder IISExpress bereitgestellt, während im beteiligten OutOfProcess-Worker-Prozess dies dotnet.exe
Im InProcess-verwalteten Modell wird ein einzelner Webserver verwendet, während im OutOfProcess-verwalteten Modell zwei Webserver verwendet werden können.

Der offensichtliche Grund für die Nutzung des neuen In-Process-Modells ist, dass es schneller ist und weniger Ressourcen verbraucht.Das InProcess-Managed-Modell bietet eine bessere LeistungWeil es direkt im Prozess des IIS-Anwendungspools läuft. Es gibt keinen internen HTTP-Verkehr und keinen Overhead, und Anfragen werden sofort verarbeitet.





Vorhergehend:Nginx fügt das HTTP/2-Protokoll aktiviert hinzu
Nächster:Eine falsche Nutzung von HttpClient kann Ihre Software kaputtmachen.
 Vermieter| Veröffentlicht am 14.05.2022, 13:20:23 |
ASP.NET Leistung innerhalb und außerhalb des Core-Prozesses:http://blog.iis7.com/article/5958.html
ASP.NET Core 5 Leistungstest unter IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Veröffentlicht am 14.05.2022, 15:07:14 |
Lernen lernen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com