MVC路由全能和WebApi

时间:2016-07-26 08:51:18

标签: asp.net-mvc-4 routing asp.net-web-api-routing

我有一个MVC应用程序,也需要提供webapi请求。已经存在一些MVC路由,最后一个路由是捕获所有路由以重定向到错误页面。 WebApiConfig是Visual Studio设置的默认值。这个最终的MVC捕获所有路由正在捕获/api个调用,因此webapi调用永远不会到达端点。

我知道路由是使用第一个匹配方法处理的,但我认为/api调用将被任何MVC路由忽略,只是传递给webapi路由器。

是否有任何方法可以获得无法捕获/api次呼叫的全能MVC路由?

1 个答案:

答案 0 :(得分:0)

由于第一种匹配方法,您配置路由的顺序很重要。如果在MVC路由之前配置web api路由,那么应该避免web api路由被MVC路由捕获,前提是web api找到了匹配。

确保在MVC路由表配置之前完成web api路由表配置。

GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);