9

我将现有的 MVC4/WebAPI1 项目升级到 Visual Studio 2012 中的 MVC5/WebAPI2,如此处所述。该网站按预期工作。然后我按照此处找到的基于属性的路由的说明进行操作- 除了我不断为控制器获取 404。我的步骤是:

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

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

如果有任何开箱即用的方法来检查请求并查看路由表是如何匹配的?

4

2 回答 2

13

我有几乎相同的问题。并且找不到任何可行的解决方案。Route 调试器确实不适用于 Web API 2。最后,我找到了一种调试 Web API 2 的工作方法,包括 Route Attributes。

Microsoft.AspNet.WebApi.HelpPage

Нope 这可以帮助人们节省几个小时的调试时间。

于 2014-03-03T12:21:52.243 回答
0

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

于 2013-12-23T19:13:56.053 回答