Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 7562|Odpověď: 2

[.NET Core] ASP.NET Core hostí modely In-Process a Out-Of-Process v IIS

[Kopírovat odkaz]
Zveřejněno 14. 5. 2022 13:18:08 | | | |
Protože .NET Core je multiplatformní, projekty ASP.NET Core mohou běžet jak na Windows, tak na Linuxu, a pokud jsou nasazeny na Windows, mohou být nasazeny na IIS nebo přímo přes příkazovou řádku, nezávisle na službách IIS, díky zařazení Kestrel kontejnerů do ASP.NET Core.

Pro více informací o nasazení ASP.NET Core aplikací na služby IIS se můžete podívat na následující:

Nasadit ASP.NET Core na IIS server
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core je nasazen v IISPrůběhaNeukončenéDva modely hostitelství

Prostředky:

Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.


Model průběhu procesu

Od ASP.NET Core 3.0,Hostování během procesu je ve výchozím nastavení povoleno pro všechny aplikace nasazené na IIS, soubor web.config vypadá takto:

lze viděthostingModel="inprocess", model v procesuKestrel se nepoužívá, ale místo toho používá IISHttpServer() k implementaci nového webového serveru hostovaného přímo v aplikačním poolu IIS, což je do jisté míry podobné tomu, jak byl tradiční ASP.NET zaveden do IIS.

Následující diagram ilustruje vztah mezi IIS, moduly ASP.NET Core a aplikacemi hostovanými v procesu:



Při pokusu o přístup na web můžete server vidět přes hlavičku odpovědi, jak je vidět na obrázku níže:



Při pohledu na procesy přes správce úloh jsou pouze 2 procesy, jak je znázorněno na obrázku níže:



Model mimo proces

Tento model IIS funguje jako reverzní proxy a když obdrží požadavek, musí jej přeposlat do služby Kestrel, což je multiplatformní webový server zabudovaný v ASP.NET Core aplikacích.

Následující diagram ilustruje vztah mezi IIS, ASP.NET Core moduly a aplikacemi hostovanými mimo proces:



Web.config soubor upravujeme následovně:

Když přistupujeme na web přes prohlížeč, vidíme, že hodnota serveru v hlavičce odpovědi se změnila na Kestrel, jak je znázorněno na obrázku níže:



Když jsem se současně podíval do správce úloh, zjistil jsem, že existují 3 procesy, jak je znázorněno na obrázku níže:



shrnutí

V modelu spravovaném InProcess jsou požadavky a odpovědi poskytovány prostřednictvím w3wp.exe nebo IISExpress, zatímco v pracovním procesu OutOfProcess je to dotnet.exe
V modelu spravovaném InProcess se používá jeden webový server, zatímco v modelu spravovaném OutOfProcess lze použít dva webové servery.

Zřejmým důvodem pro použití nového modelu In-Process je rychlejší a spotřebovává méně zdrojů,Spravovaný model InProcess poskytuje lepší výkonProtože běží přímo v procesu IIS aplikačního poolu. Neexistuje žádný interní HTTP provoz ani režie, požadavky jsou zpracovávány okamžitě.





Předchozí:Nginx přidává povolený protokol HTTP/2
Další:Nesprávné používání HttpClient může váš software rozbít
 Pronajímatel| Zveřejněno 14. 5. 2022 13:20:23 |
ASP.NET Výkon v rámci a mimo proces Core:http://blog.iis7.com/article/5958.html
ASP.NET Test výkonu Core 5 pod IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Zveřejněno 14. 5. 2022 15:07:14 |
Učte se učit
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com