Как отлаживать внутрипроцессный IIS в ASP.net Core MVC на VSCode - PullRequest
2 голосов
/ 15 октября 2019

Поскольку веб-приложения Core 2.2 действительно могут работать в IIS (Express) без использования Kestrel в фоновом режиме. Это называется IISHttpServer или «внутрипроцессная» модель хостинга. В нижней части этого вопроса я опишу несколько статей об этом. Последняя гиперссылка в этом списке ссылок гласит, что «приложения ASP.NET Core по умолчанию соответствуют модели внутрипроцессного хостинга», но в моей среде это не так.

Я бы хотел отладить с помощьювнутрипроцессный IISHttpServer, особенно когда дело доходит до проверки подлинности Windows в Core (без ядра или HTTP.sys). К сожалению, я не могу заставить это работать в коде Visual Studio.

Для воспроизведения создайте новый проект, подобный этому:

dotnet new mvc

В моем файле .csproj я добавляю:

<PropertyGroup>
  <TargetFramework>netcoreapp3.0</TargetFramework>
  <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>

На снимке экрана ниже вы можете видеть, что это приложение MVC все еще использует Kestrel:

chrome screenshot with server header set to kestrel

Как отладить IIS вПроцесс хостинга с основным проектом в VSCode?

Когда я пытаюсь сделать это с VS2019, он работает нормально. Ответ может быть в содержании launch.json и launchSettings.json, поскольку dotnet их генерирует.

Ссылки:

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