Маршрутизация атрибутов 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/

Надеюсь, это поможет кому-то сэкономить несколько часов отладки.

Другие вопросы по тегам