首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结合Web路由的ASP.NET MVC

结合Web路由的ASP.NET MVC
EN

Stack Overflow用户
提问于 2014-07-24 18:27:27
回答 1查看 6K关注 0票数 9

我正在尝试为网页和Web API注册多个路由。下面是我的配置:

代码语言:javascript
复制
public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Registration Courses SPA",
            url: "Registration/Courses",
            defaults: new {controller = "Registration", action = "Index"});

        routes.MapRoute(
            name: "Registration Instructors SPA",
            url: "Registration/Instructors",
            defaults: new { controller = "Registration", action = "Index" });

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

代码语言:javascript
复制
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate:"api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

下面是我如何在Global.asax中注册它们

代码语言:javascript
复制
RouteConfig.RegisterRoutes(RouteTable.Routes);
GlobalConfiguration.Configure(WebApiConfig.Register);

问题是WebAPI路由不工作,我得到了404错误,除非我首先注册WebAPI路由,然后ASP.NET MVC路由不工作,WebAPI路由工作。

EN

回答 1

Stack Overflow用户

发布于 2015-03-05 00:35:34

就像@ChrFin在他的评论中所说的那样,如果你首先注册Web API路由,你的MVC路由应该仍然有效,因为默认的Web API路由以"api“开头。

我也有同样的问题,但这是因为我们将默认Web API路由的routeTemplate更改为{controller}/{id},因为我们希望它成为默认的,因为我们的应用程序的目的是成为其他应用程序的应用程序接口。在我们的Global.asax文件中,Web路由在MVC路由之前注册,这是任何新的Web应用程序的默认设置。因为"/anything“匹配默认的Web API路由,所以路由处理停止,所以我们的MVC路由永远没有机会匹配。

关键的一点是,如果路由匹配,即使没有匹配的控制器,路由处理也会停止。

为了解决我们的问题,我们在MVC路由前加上了" MVC“前缀,并在Web API路由之前注册了MVC路由。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24931225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档