2016-07-26 32 views
0

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

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

有什么办法可以捕捉所有的MVC路由,但不会捕获/api调用?

回答

0

您配置路线的顺序非常重要,因为采用了第一种匹配方式。如果您在MVC路由之前配置web api路由,那么应该避免web api路由被MVC路由捕获,前提是存在web api发现的匹配。

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

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