在asp.net mvc中找不到具有Route属性的操作路由

在asp.net mvc中找不到具有Route属性的操作路由,asp.net,asp.net-mvc,routeattribute,Asp.net,Asp.net Mvc,Routeattribute,我将asp.net mvc与路由属性一起使用,出现以下错误: System.Web.HttpException (0x80004005): No matching action was found on controller 'Test.RequestController'. This can happen when a controller uses RouteAttribute for routing, but no action on that controller matches the

我将asp.net mvc与路由属性一起使用,出现以下错误:

System.Web.HttpException (0x80004005): No matching action was found on controller 'Test.RequestController'. This can happen when a controller uses RouteAttribute for routing, but no action on that controller matches the request.


public class TestController : Controller
    {      


        [Route("~/api/test")]
        [HttpPost]       
        public async Task<ActionResult> Post(TestRequest r)
        { 
            return new HttpStatusCodeResult(HttpStatusCode.Created);
        }
    }

RouteAttribute
不应具有前导的
~

路由属性应该有一个前导
~

您不应该有
~
前缀,感谢您使用web api。。。这里我有一个路由前缀。你不应该有
~
前缀,谢谢你使用了web api。。。我有一个路线前缀。
public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapMvcAttributeRoutes();
        }