Маршрутизация атрибутов WebApi2 404
Я обновил существующий проект MVC4/WebAPI1 до MVC5/WebAPI2 в Visual Studio 2012, как описано здесь. Сайт работал как положено. Затем я следовал инструкциям для маршрутизации на основе атрибутов, найденной здесь - за исключением того, что я продолжаю получать 404 для контроллеров. Мои шаги были:
- Добавить config.MapHttpAttributeRoutes(); в WebApiConfig.Register
- Добавить config.EnsureInitialized(); в WebApiConfig.Register
- Добавить AttributeRouting (ASP.NET WebAPI) из NuGet
- Добавьте атрибут Route на мой тестовый контроллер
Я вижу, что тестовый маршрут регистрируется, когда я ставлю перерыв после config.EnsureInitialized(). Тем не менее, попытка попасть по этому маршруту дает мне 404.
Есть ли выход из коробки, чтобы проверить запрос и посмотреть, как сопоставляется таблица маршрутизации?
2 ответа
Ты можешь использовать Route Debugger
осмотреть все маршруты. Есть официальное сообщение от MSDN, которое освещает это:
У меня были почти такие же проблемы. И не может найти никакого рабочего решения. Отладчик маршрута на самом деле не работает с Web API 2. Наконец, я нашел рабочий способ отладки Web API 2, включая атрибуты маршрута.
http://www.nuget.org/packages/Microsoft.AspNet.WebApi.HelpPage/
Надеюсь, это поможет кому-то сэкономить несколько часов отладки.