Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 7562|Отговор: 2

[.NET Core] ASP.NET Core хоства моделите In-Process и Out-Of-Process в IIS

[Копирай линк]
Публикувано на 2022-5-14 13:18:08 | | | |
Тъй като .NET Core е кросплатформен, проектите ASP.NET Core могат да работят както на Windows, така и на Linux, а ако са внедрени на Windows, могат да бъдат внедрени на IIS или директно през командния ред, независимо от IIS услугите, благодарение на включването на контейнери Kestrel в ASP.NET Core.

За повече информация относно това как да разположите ASP.NET Core приложения в IIS услугите, можете да се обърнете към следното:

Разположи ASP.NET Core към IIS сървър
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core се внедрява в IISВ процес на разработкаиИзвън процесаДва модела за хостване

Ресурси:

Входът към хиперлинк е видим.
Входът към хиперлинк е видим.


Модел в процес

От ASP.NET Core 3.0,Хостингът в процеса е активиран по подразбиране за всички приложения, разположени в IIS, web.config файлът изглежда така:

може да се видиhostingModel="inprocess", модел в процесКестрел не се използва, но вместо това използва IISHttpServer(), за да реализира нов уеб сървър, хостван директно в IIS пула приложения, което е донякъде подобно на начина, по който традиционният ASP.NET беше въведен в IIS.

Следната диаграма илюстрира връзката между IIS, ASP.NET Core модулите и хоствани приложения в процес на работа:



Опитвайки се да влезете в сайта, можете да видите сървъра през заглавието за отговори, както е показано на изображението по-долу:



Ако разгледам процесите през диспечера на задачите, има само 2 процеса, както е показано на фигурата по-долу:



Модел извън процеса

Този модел IIS действа като обратен прокси и когато получи заявка, трябва да я препрати към услугата Kestrel, която е кросплатформен уеб сървър, вграден в ASP.NET Core приложения.

Следната диаграма илюстрира връзката между IIS, модулите ASP.NET Core и хоствани приложения извън процеса:



Модифицираме web.config файла по следния начин:

Когато достъпим уебсайта през браузър, виждаме, че стойността на сървъра в заглавието на отговора е станала Kestrel, както е показано на фигурата по-долу:



Гледайки едновременно в диспечера на задачите, открих, че има 3 процеса, както е показано на фигурата по-долу:



резюме

В управлявания модел InProcess, заявките и отговорите се предоставят чрез w3wp.exe или IISExpress, докато в процеса на OutOfProcess това е dotnet.exe
В управлявания модел InProcess се използва един уеб сървър, докато в управлявания модел OutOfProcess могат да се използват два уеб сървъра.

Очевидната причина за използването на новия модел In-Process е, че е по-бърз и използва по-малко ресурси,Управляваният модел InProcess осигурява по-добра производителностЗащото се изпълнява директно в процеса на IIS пула за приложения. Няма вътрешен HTTP трафик и допълнителни разходи, а заявките се обработват веднага.





Предишен:Nginx добавя активиран протокол HTTP/2
Следващ:Неправилното използване на HttpClient може да повреди софтуера ви
 Хазяин| Публикувано на 2022-5-14 13:20:23 |
ASP.NET Производителност в и извън процеса на Core:http://blog.iis7.com/article/5958.html
ASP.NET Тест за производителност на Core 5 под IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Публикувано на 2022-5-14 15:07:14 |
Научи се да учиш
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com