Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 7562|Odpoveď: 2

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

[Kopírovať odkaz]
Zverejnené 14.5.2022 13:18:08 | | | |
Keďže .NET Core je multiplatformový, projekty ASP.NET Core môžu bežať na Windows aj Linuxe, a ak sú nasadené na Windows, môžu byť nasadené na IIS alebo priamo cez príkazový riadok, nezávisle od IIS služieb, vďaka zahrnutiu Kestrel kontajnerov v ASP.NET Core.

Pre viac informácií o tom, ako nasadiť ASP.NET Core aplikácie na služby IIS, sa môžete pozrieť na nasledovné:

Nasadenie ASP.NET Core na IIS server
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core je nasadený v IISV proceseaUkončenie procesuDva hostiteľské modely

Zdroje:

Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.


Model v procese

Od ASP.NET Core 3.0,In-Process hosting je predvolene povolený pre všetky aplikácie nasadené v IIS, súbor web.config vyzerá takto:

je viditeľnéhostingModel="v procese", model v proceseKestrel sa nepoužíva, ale namiesto toho používa IISHttpServer() na implementáciu nového webového servera hostovaného priamo v aplikačnom poole IIS, čo je do istej miery podobné tomu, ako bola tradičná ASP.NET zavedená do IIS.

Nasledujúci diagram ilustruje vzťah medzi IIS, modulmi ASP.NET Core a aplikáciami hostovanými v procese:



Pri pokuse o prístup na webovú stránku môžete server vidieť cez hlavičku odpovede, ako je znázornené na obrázku nižšie:



Pri pohľade na procesy cez správcu úloh sú len 2 procesy, ako je znázornené na obrázku nižšie:



Model mimo procesu

Tento model IIS funguje ako reverzný proxy a keď prijme požiadavku, musí ju presmerovať do služby Kestrel, čo je multiplatformový webový server zabudovaný v ASP.NET Core aplikáciách.

Nasledujúci diagram ilustruje vzťah medzi IIS, jadrovými modulmi ASP.NET a hostovanými aplikáciami mimo procesu:



Súbor web.config upravujeme nasledovne:

Keď pristupujeme na webovú stránku cez prehliadač, vidíme, že hodnota servera v hlavičke odpovede sa zmenila na Kestrel, ako je znázornené na obrázku nižšie:



Keď som sa zároveň pozrel do správcu úloh, zistil som, že existujú 3 procesy, ako je znázornené na obrázku nižšie:



súhrn

V modeli spravovanom InProcess sú požiadavky a odpovede poskytované prostredníctvom w3wp.exe alebo IISExpress, zatiaľ čo v pracovnom procese OutOfProcess je to dotnet.exe
V spravovanom modeli InProcess sa používa jeden webový server, zatiaľ čo v modeli spravovaného OutOfProcess môžu byť použité dva webové servery.

Zrejmým dôvodom použitia nového modelu In-Process je, že je rýchlejší a spotrebuje menej zdrojov,Spravovaný model InProcess poskytuje lepší výkonPretože beží priamo v procese IIS aplikačného poolu. Neexistuje žiadna interná HTTP prevádzka ani režijné náklady, požiadavky sa spracovávajú okamžite.





Predchádzajúci:Nginx pridáva povolený protokol HTTP/2
Budúci:Nesprávne používanie HttpClient môže pokaziť váš softvér
 Prenajímateľ| Zverejnené 14. 5. 2022 o 13:20:23 |
ASP.NET Výkonnosť v a mimo procesu 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
Zverejnené 14. 5. 2022 o 15:07:14 |
Naučte sa učiť
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com