Как развернуть .net core web API в качестве виртуального каталога

#asp.net #iis #asp.net-core-3.1

#asp.net #iis #asp.net-core-3.1

Вопрос:

У меня есть один веб-сайт asp .net в IIS с .net framework 4.5. Теперь я хочу добавить .net core web API в качестве виртуального каталога на этот веб-сайт asp .net.

Как этого добиться? Я получаю 500 внутренних ошибок сервера при попытке попасть в контроллер.

Комментарии:

1. Вы видели эту статью docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/… . Это похоже на Java, которая сейчас является версией для разработки и версией для выполнения. Итак, вам нужно установить версию среды выполнения и она будет работать.

Ответ №1:

сначала вместо хоста .net core site в iis в качестве хоста виртуального каталога в качестве приложения. поскольку на сайте .net core не используется пул приложений с управляемым кодом в iis, а на сайте .net Framework используется .net clr версии 4.0.

вы можете выполнить следующие шаги для размещения сайта .net core в iis:

1) Опубликовать сайт из visual Studio в виде папки.

2) Убедитесь, что вы загрузили и установили пакет .net core hosting bundle и среду выполнения.

https://dotnet.microsoft.com/download/dotnet-core/3.1

Обратите внимание, что загрузка зависит от вашей версии.

3) Щелкните правой кнопкой мыши на вашем сайте и выберите добавить приложение. укажите путь к папке, в которой вы опубликовали сайт из Visual Studio.

4) Убедитесь, что пул приложений> Модель процесса> Идентификатор установлен в ApplicationPoolIdentity или ваш пользовательский идентификатор имеет правильные разрешения для доступа к папке развертывания приложения.

5) Создайте новый пул приложений. Установите пул приложений .Версия NET CLR без управляемого кода:

введите описание изображения здесь

измените пул приложений из настройки application advance.

теперь вы можете просматривать сайт.

введите описание изображения здесь

структура папок в iis:

введите описание изображения здесь

Комментарии:

1. .. спасибо за подробный ответ. у меня есть один вопрос. Хостинг .net core web api в качестве виртуального каталога невозможен? Есть ли какая-либо конкретная причина для развертывания его как вспомогательного приложения вместо виртуального каталога?

2. @Хост разработчика как приложение. поскольку на сайте .net core не используется пул приложений с управляемым кодом в iis, а на сайте .net Framework используется среда .net clr версии 4.0. вы не можете установить другой пул приложений, если вы размещаете сайт .net core в качестве виртуального каталога в iis.