Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 404调用Web API v2时_Asp.net Mvc_Asp.net Mvc Routing_Asp.net Web Api2 - Fatal编程技术网

Asp.net mvc 404调用Web API v2时

Asp.net mvc 404调用Web API v2时,asp.net-mvc,asp.net-mvc-routing,asp.net-web-api2,Asp.net Mvc,Asp.net Mvc Routing,Asp.net Web Api2,我有一个Web Api控制器,当我调用它时返回404 public class ValuesController : ApiController { [HttpGet] public static string Test() { return "Hola!"; } } 这是路线图 config.Routes.MapHttpRoute( name: "ActionApi"

我有一个Web Api控制器,当我调用它时返回404

public class ValuesController : ApiController
{
    [HttpGet]
    public static string Test()
    {
        return "Hola!";
    }
}
这是路线图

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

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
这是路由调试器信息。
我得到404以下的要求

http://localhost:8081/api/values/test  
http://localhost:8081/api/values/get


知道它为什么会失败吗?

您的操作被定义为静态方法。动作不能是静态的

[HttpGet]
public static string Test()
{
    return "Hola!";
}
让它成为一个实例方法,你的代码就会工作

[HttpGet]
public string Test()
{
    return "Hola!";
}