WebApi2属性路由404

时间:2013-12-23 19:00:28

标签: asp.net-web-api routeattribute

我在Visual Studio 2012中将现有的MVC4 / WebAPI1项目升级到MVC5 / WebAPI2,如here所述。该网站按预期工作。然后,我按照基于属性的路由找到了here的指示 - 除了我一直为控制器获得404。我的步骤是:

  • 添加config.MapHttpAttributeRoutes();在WebApiConfig.Register
  • 添加config.EnsureInitialized();在WebApiConfig.Register
  • 从NuGet
  • 添加AttributeRouting(ASP.NET WebAPI)
  • 在我的测试控制器上添加Route属性

我看到在config.EnsureInitialized()之后我休息时,测试路由正在注册。但是,尝试击中那条路线会给我一个404.

如果有任何方法可以检查请求并查看路由表是如何匹配的那样?

2 个答案:

答案 0 :(得分:13)

我遇到了几乎相同的问题。并找不到任何有效的解决方案。 Route调试器实际上不适用于Web API 2。 最后,我找到了一种调试Web API 2的工作方式,包括路由属性。

Microsoft.AspNet.WebApi.HelpPage

Нope这有助于某人节省几个小时的调试。

答案 1 :(得分:0)

您可以使用Route Debugger检查所有路线。来自MSDN的官方帖子涵盖了这一点: