Asp.net mvc 4 MVC4WebAPI 404

Asp.net mvc 4 MVC4WebAPI 404,asp.net-mvc-4,Asp.net Mvc 4,有人看到我的路线配置有什么问题吗?我正试图通过以下方式调用我的web api控制器: localhost/Attribution/api/Client localhost/Attribution/api/Fund 我有两个扩展ApicController的控制器,分别是ClientController和FundController 这是我的路线配置。我总是得到HTTP 404资源找不到 GlobalConfiguration.Configuration.Routes.MapRoute(

有人看到我的路线配置有什么问题吗?我正试图通过以下方式调用我的web api控制器:

localhost/Attribution/api/Client

localhost/Attribution/api/Fund
我有两个扩展ApicController的控制器,分别是ClientController和FundController

这是我的路线配置。我总是得到HTTP 404
资源找不到

GlobalConfiguration.Configuration.Routes.MapRoute(
    "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);


GlobalConfiguration.Configuration.Routes.MapHttpRoute(
    name: "test",
        routeTemplate: "api/{controller}/{id}/{action}",
        defaults: new
    {
            id = RouteParameter.Optional,
                action = RouteParameter.Optional
    });

您需要包含一个动作,并且该动作应该在控制器中。如前所述,url/api/Client不知道要调用什么操作。相反,请尝试:

GlobalConfiguration.Configuration.Routes.MapHttpRoute(
    name: "test",
        routeTemplate: "api/{controller}/{action}/{id}",
        defaults: new
    {
            action = "Index",
            id = RouteParameter.Optional
    });

然后URL/api/Client应该在控制器“Client”中调用操作“Index”。

对于ApiController,这些操作都是来自httpRequest的动词。所以api/Controller/Get将映射到HTTP Get请求,api/Controller/Post将映射到HTTP Post请求,等等……我在一个WebApi项目中也遇到了同样的问题。有没有想过你做错了什么?