Запускаете ли вы приложение Web API в виртуальном каталоге или в приложении?
Например: у меня возникла та же проблема, когда я переместил свой проект в локальный IIS на веб-сайте по умолчанию> SampleWebAPI. Я полагаю, что это связано с изменением маршрутизации URL
следующим образом:
Оригинал: localhost:3092/api/values
Перемещено: localhost/SampleWebAPI/api/values
Если вы переместите проект Web API на собственный веб-сайт, работающий через другой порт, он, похоже, будет работать.
Дополнительное примечание: я еще более усложнил проблему, добавив api
в качестве псевдонима приложения на моем веб-сайте, что привело к фактическому URL
:
localhost:81/api/api/values
- заметил это после перемещения сайта на собственный сайт
Поэтому, поскольку я хотел поддерживать разделение между моим веб-сайтом и сайтом проекта web api mvc, я изменил правила маршрутизации в global.asax
для веб-API «DefaultAPI» с api/{controller}/{id}
на {controller}/{id}
и ASP .NET MVC one Default
от {controller}/{id}
до info/{controller}/{id}
.