Проект WebApi, развернутый в Azure на Linux ОС, не находит маршруты - PullRequest
0 голосов
/ 12 марта 2020

Я следовал этому учебнику о «Как развернуть WebApi на Azure с Linux», учебник ориентирован на. NET Core 3.1, но в моем случае это 2.1. Все прошло правильно, кроме маршрутов. У меня есть тестовый маршрут, и я не нашел.

"// mywebapi.azurewebsites.com/api/Test/Test" ничего не получает.

Внутри класса программы я включил параметры ошибки, чтобы показать что-то не так, но все еще.

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .CaptureStartupErrors(true) // the default
       .UseSetting("detailedErrors", "true")
            .UseStartup<Startup>();
}

enter image description here

Обновление!

Мне удалось прочитать журналы, и я получил это:

2020-03-12 05: 23: 43.022 ИНФОРМАЦИЯ - Ведение журнала не включено для этого контейнера. Пожалуйста, используйте https://aka.ms/linux-diagnostics, чтобы включить ведение журнала для просмотра журналов контейнеров здесь. 2020-03-12 05: 23: 44.322 INFO - Инициирование запроса на разогрев для контейнера com_0_3b90f319 для сайта com 2020-03-12 05: 23: 46.590 ОШИБКА - Контейнер com_0_3b90f319 для сайта com завершен, сбой запуска сайта 2020-03-12 05 : 23: 46.593 ОШИБКА - Контейнер com_0_3b90f319 не ответил на запросы HTTP на порт: 8080, сбой при запуске сайта. Смотрите журналы контейнеров для отладки. 2020-03-12 05: 23: 46.608 ИНФОРМАЦИЯ - Остановка сайта com из-за сбоя при запуске.

и

enter image description here

1 Ответ

1 голос
/ 13 марта 2020

Когда вы используете профиль publi sh для развертывания webapi, нажмите App Service Linux, а затем import your profile.

enter image description here

Запомнить набор WEBSITE_WEBDEPLOY_USE_SCM как false в Конфигурации службы приложений.

Кстати, самый простой способ - в Visual Studio, щелкните правой кнопкой мыши свой проект и выберите Publish. Нажмите App Service Linux и create New, настройте конфигурацию службы приложения, и она будет работать хорошо.

...