. NET Основной хостинг для IIS, я получаю ошибку HTTP 500.30 - сбой при запуске процесса ANCM - PullRequest
0 голосов
/ 21 июня 2020

Проблемы при развертывании. NET Ядро в IIS. Я выполнил следующие шаги:

  1. Создал веб-сайт, используя. NET Core 3.1 с Visual Studio
  2. Создал веб-сайт внутри IIS (указывая на пустой физический путь C: \ inetpub \ mywebsite и адрес mywebsite.core.com)
  3. Опубликовал мой веб-сайт из Visual Studio в той же папке, C: \ inetpub \ mywebsite
  4. Запись хоста для просмотра из браузера, например, пошел в драйверы \ etc \ hosts и добавил строку 127.0.0.1 mywebsite.core.com
  5. Установленные пакеты отсюда: https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.5-windows-hosting-bundle-installer

Ошибка:

Ошибка HTTP 500.30 - сбой при запуске ANCM Общие решения этой проблемы: не удалось запустить приложение; приложение было запущено, но затем остановлено; приложение запущено, но сгенерировало исключение во время запуска. Системный журнал событий для сообщений об ошибках Включите регистрацию сообщений стандартного вывода процесса приложения. Присоедините отладчик к процессу приложения и проверьте. Для получения дополнительной информации посетите: * 1 021 *https://go.microsoft.com/fwlink/?LinkID=2028265

У меня такое чувство, что это может быть связано с моим файлом launchSettings. json, не знаю, как его следует адаптировать ...

Когда я запускал свой сайт из Visual Studio, он раньше открывался напрямую по ссылке swagger, но теперь после публикации в IIS я больше не могу запускать его из Visual Studio (невозможно подключиться к веб-серверу IIS Express) ... Любая помощь, пожалуйста ?

Это консольное приложение. NET Core 3.1 с автозагрузкой, которое открыло чванство с моими API до того, как я попытался опубликовать sh в IIS.

Позднее редактировать: https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1 это предполагает две возможные причины: отсутствие прав доступа к хранилищам ключей (не проблема, я вошел в систему Azure с azure cli); а другой: "Приложение неправильно настроено из-за таргетинга на версию общей платформы ASP. NET Core, которой нет. Проверьте, какие версии общей платформы ASP. NET Core установлен на целевой машине. "

Дальнейшее редактирование: web.config из C: \ inetpub \ mywebsite выглядит так:

 <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".\XXX.MyWebsite.Api.RestApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess" />
        </system.webServer>
      </location>
    </configuration>

Я фактически изменил hostingModel="inprocess" на: hostingModel="outofprocess"

И мой проект> Свойства> Отладка выглядит так:

enter image description here

(as you can see I changed from In Process to Out of Process)

and the bindings in IIS look like this: введите описание изображения здесь

ОБНОВЛЕНИЕ: после всего этого моя ошибка изменилась на:

Ошибка HTTP 502.5 - сбой внепроцессного запуска ANCM Общие решения этой проблемы: приложение не удалось запустить процесс. Процесс приложения был запущен, но затем остановлен. Процесс приложения был запущен, но не смог прослушать настроенный порт.

(изначально было 500.30)

Не совсем уверен, что еще делать пытаться. Как проверить, правильно ли настроен порт?

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

Отладка через метод Kestrel

Пожалуйста, попробуйте опубликовать sh ваше приложение в определенной папке. Выполните tnet Core Cli Command для публикации. Команда ниже публикует в "выходную" папку

 dotnet publish -o output

После перехода в папку publish с помощью команды cd. Введите dotnet <project-name>.dll. Используйте имя своего проекта вместо <project-name>

. Ваше приложение должно работать и работать безупречно. Если вы столкнулись с какой-либо проблемой, это связано с ошибкой приложения

Развернуть в IIS

После этого для размещения вашего приложения в производственной или промежуточной среде установите IIS (не express) и. NET основной пакет хостинга. [щелкните здесь, чтобы загрузить пакет хостинга]

После этого вы можете следовать этому руководству

0 голосов
/ 21 июня 2020

Попробуйте следовать этой статье. https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/development-time-iis-support?view=aspnetcore-3.1

Если это не работает - убедитесь, что ваш пул приложений включен в IIS для вашего веб-приложения. Попробуйте также перезапустить IIS.

...