架构师_程序员_码农网

Имя пользователя Получить пароль
Регистрация

QQ登录

Всего один шаг, чтобы начать

Поиск
Просмотров:4079|Ответов: 2
打印 上一主题 下一主题

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

[Копировать ссылку]
Модели хостинга 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. В состав Core входит контейнер Kestrel.

Дополнительные сведения о том, как развернуть приложение ASP.NET Core в службе IIS, см. ниже:

Развертывание ASP.NET Core на сервере IIS
h ttps:// www.itsvse.com/thread-7838-1-1.html
Существует две модели хостинга для развертывания ASP.NET Core на IIS: In-Process и Out-Of-Process.

Ссылка:

h ttps:// docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/in-process-hosting?view=aspnetcore-6.0&viewFallbackFrom= aspnetcore-3.1
h ttps:// docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/out-of-process-hosting?view=aspnetcore-6.0&viewFallbackFrom= aspnetcore-3.1


Модель In-Process In-Process

Начиная с ASP.NET Core 3.0, In-Process хостинг был включен по умолчанию для всех приложений, развернутых на IIS, со следующим файлом web.config:

Как вы можете видеть, hostingModel="inprocess",вместо использования Kestrel модель in-process использует новую реализацию веб-сервера 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 может сломать ваше программное обеспечение
收藏转播分享Коллекции0 Реле
NET, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
sofabed
владелец|发表于 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
Код фермера, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
сапоги угги продажа
Я не уверен, что смогу это сделать.
Код фермерской сети, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
Вы должны войти в систему, прежде чем сможете отправлять сообщения назад Войти | Зарегистрироваться

Эта версия интегральных правил


Отказ от ответственности: Все программное обеспечение, программные материалы или статьи, выпущенные код фермер сети ограничивается для изучения и исследования целей; вышеуказанное содержание не должно быть использовано для коммерческих или незаконных целей, в противном случае, все последствия, пожалуйста, пользователь несет ответственность. Это сайт информации из сети, авторские права спор не имеет никакого отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с вашего компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купить регистрацию и получить лучше подлинного обслуживания. Если есть какие-либо нарушения, пожалуйста, свяжитесь с нами по электронной почте, чтобы разобраться с этим.

Почта To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 04:41

Быстрый ответНазад к началуНазад к списку