ASP. NET Конечная точка 404 на сервере IIS - PullRequest
0 голосов
/ 14 апреля 2020

Использование Visual Studio 2019 & ASP. Net. Все мои конечные точки работают во время разработки. При развертывании в IIS все мои конечные точки возвращают 404. Просматривая журналы, я получаю ошибку «404 0 2». Я могу просматривать все страницы нормально, только конечные точки не работают. Я попытался добавить различные вещи в мой Web.Config с тем же результатом.

Это сервер 2019 с последней версией IIS. Любая помощь приветствуется. Угадаете, что на IIS что-то не так?

Конечные точки выполняются с использованием контроллера, пример кода ниже:

        [Route("~/api/students/getyear/{yearid}")]
        public async Task<ActionResult<IEnumerable<Student>>> GetYear(int yearid)
        {
            return await _context.Student.Where(x => x.yearid == yearid).ToListAsync();
        }

Вызывается с помощью

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

При отладке это, я могу получить его из "https://localhost: 5001 / api / Students / getyear / 0 " и при попытке на моем IIS с помощью "intr anet .domain.co.uk / studentnotices / api / student / getyear / 0 "Я получаю ошибку 404

Я публикую sh код в папке выпуска и копирую его в свой IIS. Также пытались опубликовать непосредственно в IIS, но тот же результат

1 Ответ

0 голосов
/ 15 апреля 2020

win32-staus уже указал, что «Система не может найти указанный файл».

Поэтому я думаю, что ваш IIS пытается выполнить URL-адрес по физическому пути. Это может произойти из-за того, что ваш обработчик файлов stati c принимает запрос вместо обработчика без расширения asp. net.

Пожалуйста, установите в свою очередь функцию расширения IIS asp. net по очереди windows функции вкл или выкл. Для. net core, приложения, пожалуйста, убедитесь, что установлен пакет asp. net core для веб-хостинга.

...