API ядра .net не работает на IIS - PullRequest
0 голосов
/ 25 мая 2018

Я новичок в этом .NET Core, и я впервые пытаюсь развернуть один из них.

Проект представляет собой API для интерфейса Angular, который я создаю ипринимает HTTP-запросы и возвращает JSON.Когда я запускаю его в Visual Studio на моем компьютере, все нормально.Я использую VS2017 и установил .NET Core 2.0.0.

Я публикую публикацию в папке на веб-сервере, и все, кажется, работает нормально, но когда я пытаюсь получить доступ к API, я получаю 404не найдена ошибка.Сервер работает под управлением .NET 2.0.6 (я пытался получить 2.0.0, но не смог найти его в установщике Hosting Bundle.

Если я удалю web.config, то появится HTML-файл,но, очевидно, API не работает. Но, как показывает HTML-файл, нет проблем с разрешениями и доступом. Нет ничего в Event Viewer. Я также попытался включить ведение журнала в web.config, но это нене регистрируюсь ... вероятно, недостаточно далеко.

Веб-конфигурация выглядит следующим образом.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\RawMaterialsSystem.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>
<!--ProjectGuid: f01b1621-2ced-4ad2-9ae6-004e03b0e043-->`

1 Ответ

0 голосов
/ 21 августа 2018

ШАГ 1: Измените файл web.config на этот

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>

ШАГ 2:

  • В Visual Studio щелкните правой кнопкой мыши проект основного приложения .net и выберите «Опубликовать»
  • Затем опубликуйте его как папку в папке bin \ Release \ netcoreapp2.0 \опубликовать

ШАГ 3:

  • В IIS -> Сайты -> Щелкните правой кнопкой мыши Ваш сайт -> В разделе «Управление веб-сайтом» выберите «Дополнительные настройки»
  • Убедитесь, что «Физический путь», на который вы указываете, является папкой «publish» в качестве каталога приложения, а не папкой «netcoreapp2.0»
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...