Asp.net 对于只有一个index.cshtml页面的SPA,我应该如何处理MVC和WebAPI路由?

Asp.net 对于只有一个index.cshtml页面的SPA,我应该如何处理MVC和WebAPI路由?,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-web-api,asp.net-mvc-routing,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Web Api,Asp.net Mvc Routing,我有一个单页应用程序,它有一个MVC文件index.cshtml 由主控制器和索引方法提供服务。所有的登录,注销 数据请求由WebAPI提供服务。有人能确认我是否正在设置吗 我的路线正确。以下是我所拥有的: RouteConfig.cs public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

我有一个单页应用程序,它有一个MVC文件index.cshtml 由主控制器和索引方法提供服务。所有的登录,注销 数据请求由WebAPI提供服务。有人能确认我是否正在设置吗 我的路线正确。以下是我所拥有的:

RouteConfig.cs

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });

        routes.MapRoute("DefaultRedirect",
            "",
            new { controller = "Home", action = "Index" }
        );

        routes.MapRoute(
            "catchall",
            url: "{*url}",
            defaults: new { controller = "Home", action = "Index" });

    }
WebApiConfig.cs

    public static void Register(HttpConfiguration config)
    {

        config.Routes.MapHttpRoute(
            name: ApiControllerOnly,
            routeTemplate: "api/{controller}"
            );

        config.Routes.MapHttpRoute(
            name: ApiControllerAndId,
            routeTemplate: "api/{controller}/{id}",
            defaults: null, //defaults: new { id = RouteParameter.Optional } //,
            constraints: new { id = @"^\d+$" } // id must be all digits
            );

        config.Routes.MapHttpRoute(
            name: ApiControllerAction,
            routeTemplate: "api/{controller}/{action}"
            );

        config.Routes.MapHttpRoute(
            name: ApiControllerActionAndId,
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: null, //defaults: new { id = RouteParameter.Optional } //,
            constraints: new { id = @"^\d+$" }
            );

    }
Global.asax

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        WebApiConfig.CustomizeConfig(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
我不确定的是第一个处理MVC路由的文件。我需要吃点什么吗 只有一条路径,使所有内容都转到主控制器和索引方法


在MVC路由中,我是否应该忽略那些以api开头的请求

您不应该将SPA页面作为index.cshtml提供(因为这意味着它将被编译到服务器上提供响应的相应类中)


它应该作为index.html使用,它需要的所有数据都应该通过AJAX调用获取到服务器。

您不应该将SPA页面作为index.cshtml使用(因为这意味着它将被编译到服务器上提供响应的相应类中)


它应该作为index.html使用,它需要的所有数据都应该通过AJAX调用获取到服务器。

您不应该将SPA页面作为index.cshtml使用(因为这意味着它将被编译到服务器上提供响应的相应类中)


它应该作为index.html使用,它需要的所有数据都应该通过AJAX调用获取到服务器。

您不应该将SPA页面作为index.cshtml使用(因为这意味着它将被编译到服务器上提供响应的相应类中)

它应该作为index.html使用,它需要的所有数据都应该通过AJAX调用获取到服务器