ASP.NET WEBAPI添加自定义路由

时间:2012-09-05 17:39:24

标签: asp.net asp.net-mvc-3 asp.net-web-api

我已启动并运行新的.NET WebAPI,并且我正在尝试向项目添加新路由,以便我可以看到SettingsController正在运行。我已将路由添加到RegisterRoutes方法中的Global.asax文件中,但在尝试浏览到sampleUrl:12345/settings/index时收到404错误。我能够看到:sampleUrl:12345/home/index没有问题。

Global.asax中

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );

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

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

我需要ActionResult Index()中的SettingsController吗?

1 个答案:

答案 0 :(得分:2)

您的设置路线是多余的。您可能缺少的是设置控制器中的索引方法。