Asp.net mvc MVC4WebAPI路由问题

Asp.net mvc MVC4WebAPI路由问题,asp.net-mvc,asp.net-mvc-4,routing,Asp.net Mvc,Asp.net Mvc 4,Routing,在折磨谷歌一个小时却没有得到任何可行的结果后,我有点绝望,也许有人能把我推向正确的方向 我使用visual studio 2012和mvc 4设置了一个基本的web api。 在阅读了关于路由的各种教程和我自己的一些令人沮丧的第一步之后,我被卡住了 我的WebApiConfig仍然保持不变,如下所示: config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate:

在折磨谷歌一个小时却没有得到任何可行的结果后,我有点绝望,也许有人能把我推向正确的方向

我使用visual studio 2012和mvc 4设置了一个基本的web api。 在阅读了关于路由的各种教程和我自己的一些令人沮丧的第一步之后,我被卡住了

我的WebApiConfig仍然保持不变,如下所示:

            config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
现在我有一个名为“clients”的控制器和一个名为“test”的方法。 我想将此方法“测试”应用于某个“客户机”,因此我添加了

            routes.MapRoute(
            name: "ClientManagement",
            url: "My/{controller}/{ClientGUID}/{action}",
            defaults: new { controller = "Clients", action = "test", ClientGUID = UrlParameter.Optional }
        );
我的路线图

为什么结果不是我想要的

编辑: 我很困惑…

我仍然能理解这一点^

但这超出了我的理解:


url字符串中是否需要“api”?好吧,这正是我想弄明白的。。。我找不到一个合适的解释:(也许我只是迟钝了^^’你的新路线不是从
api/
开始的,而是从
my/
开始的,现在我仔细看一下,你的新路线是用
MapRoute
定义的,但是webApi应该使用
MapHttRoute