【问题标题】:MVC Routing catch-all and WebApiMVC 路由包罗万象和 WebApi
【发布时间】:2016-07-26 08:51:18
【问题描述】:

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

我了解路由是使用第一次匹配方法处理的,但我认为任何 MVC 路由都会忽略 /api 调用,而只是将其传递给 webapi 路由器。

有没有什么方法可以让一个包罗万象的 MVC 路由不捕获 /api 调用?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 2011-10-13
      • 2014-05-05
      • 2011-04-02
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2011-02-12
      • 2016-02-22
      相关资源
      最近更新 更多