Глядя на коды, они имеют одинаковые комментарии, предполагающие, что они делают одно и то же:
/// <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
.
Какая разница между двумя? Когда вам нужно использовать один против другого? (а может оба?)
Обновлено: На гитхабе есть похожий вопрос, но там нет полезного ответа: https://github.com/aspnet/AspNetCore/issues/6197
Посмотреть историю изменений
До ASP.NET Core 2.2 ASP.NET Core размещался вне процесса в IIS, то есть у нас было два процесса для приложения:
w3wp.exe
, процесс IIS; а такжеdotnet.exe
, процесс ASP.NET Core, в котором был запущен веб-сервер Kestrel.Это означает, что IIS и Kestrel взаимодействовали между этими двумя процессами.
Для этого сценария вы должны использовать UseIISIntegration
.
В ASP.NET Core 2.2 представлен внутрипроцессный хостинг, при котором ваше приложение ASP.NET Core запускается внутри процесса IIS w3wp.exe
, что устраняет необходимость в веб-сервере Kestrel, и в этом случае вы хотите использовать UseIIS
.
Примечания:
CreateDefaultBuilder
сам вызовет соответствующий метод; см. https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2#enable-the-iisintegration-componentsВаш ответ неполный
Да, извините, я опечатался и отправил до того, как закончил ?♂️
Значит, нам не нужно вызывать UseIIS для размещения в процессе?
спасибо Michkael за то, что он поделился справочной ссылкой на блог Рика, которая действительно информативна
Обратитесь к блогу от "Rick Strahl" с хладнокровием, и вам будет очень легко.
за различия между внепроцессным и внутрипроцессным хостингом в его сообщение в блоге здесь
https://weblog.west-wind.com/posts/2019/Mar/16/ASPNET-Core-Hosting-on-IIS-with-ASPNET-Core-22
Этот ответ не распространяется на вопрос, в блоге не обсуждается «UseIISIntegration».
Почему ваш вопрос сформулирован почти так же, как этот на гитхабе?