MVC Core - в чем разница между UseIIS и UseIISIntegration - PullRequest
3 голосов
/ 14 апреля 2019

Глядя на коды, они имеют одинаковые комментарии, предполагая, что они делают то же самое:

/// <summary>
/// Configures the port and base path the server should listen on when 
/// running behind AspNetCoreModule. The app will also be configured 
/// to capture startup errors.
/// </summary>

UseIIS в пакете Microsoft.AspNetCore.Server.IIS, а UseIISIntegration в Microsoft.AspNetCore.Server.IISIntegration.

В чем разница между двумя? Когда вам нужно использовать один против другого? (или может и то и другое?)

ОБНОВЛЕНИЕ: На github есть похожий вопрос, но там нет полезного ответа: https://github.com/aspnet/AspNetCore/issues/6197

1 Ответ

5 голосов
/ 15 апреля 2019

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

  1. w3wp.exe, процесс IIS; и
  2. dotnet.exe, основной процесс ASP.NET, с которого был запущен веб-сервер Kestrel.

Это означает, что IIS и Kestrel связывались между этими двумя процессами.

Для этого сценария вы должны использовать UseIISIntegration.


В ASP.NET Core 2.2 появился внутрипроцессный хостинг, где ваше приложение ASP.NET Core запускается внутри процесса IIS w3wp.exe, устраняя необходимость в веб-сервере Kestrel, и в этом случае вы хотите использовать UseIIS.

Примечания:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...