Ошибка 500 при развертывании базового веб-приложения. NET на сервере IIS по Azure конвейерам - PullRequest
0 голосов
/ 04 февраля 2020

Я использую AzureDevOps в качестве инструмента CI&CD для моего проекта. И я использовал шаблон под названием IIS website deployment. Я сделал настройку, и она работает хорошо. Может успешно развернуться. Но я могу просто получить ошибку 500 при просмотре.

Порт 80 (на нем нет сайта):

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.

Порт 8000 (я развернул свой сайт и открыл доступ через брандмауэр) ): Я не могу получить ни одной страницы, например, 500 или около того, в браузере есть только ERR_EMPTY_RESPONSE.

Вот скриншот из папки назначения, где был собран код Screenshot

web.config. xml web.config.xml

Есть ли какой-либо код, который я пропустил в Startup.cs или Program.cs? Я оставляю их по умолчанию.

1 Ответ

0 голосов
/ 05 февраля 2020

Чтобы запустить ASP. NET Базовое приложение за IIS, сначала необходимо установить пакет хостинга.

Пакет устанавливает. NET Core Runtime,. NET Core Library, и основной модуль ASP. NET. Модуль позволяет ASP. NET основным приложениям запускаться за IIS.

Загрузить его здесь:

https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer

Подробнее информация, ссылка:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#install -the- net -core-hosting-bundle

После установки этого хост-пакета попробуйте запустить dotnet ./yourdll.dll для проверки Если ваше. NET Базовое приложение может быть запущено напрямую и готово обрабатывать HTTP-запросы. По умолчанию приложение ASP. NET Core запускается и прослушивает порт 5000.

Когда ваше приложение будет готово, разверните его в своей папке IIS. Напишите свой web.config как:

<?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=".\YOUR_DLL.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

и попробуйте получить к нему доступ из IIS.

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