Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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
C# 在控制器上未找到任何操作';用户';与名称';名称';_C#_Asp.net Web Api_Asp.net Web Api Routing - Fatal编程技术网

C# 在控制器上未找到任何操作';用户';与名称';名称';

C# 在控制器上未找到任何操作';用户';与名称';名称';,c#,asp.net-web-api,asp.net-web-api-routing,C#,Asp.net Web Api,Asp.net Web Api Routing,我的控制器中有两种动作方法 [RoutePrefix("user")] public class UserController: ApiController { [HttpGet] public IEnumerable<User> Get() { return new User.GetUsers(); } [Route("{name}")] [HttpGet] public IEnumerable<Use

我的控制器中有两种动作方法

[RoutePrefix("user")]
public class UserController: ApiController
{
    [HttpGet]
    public IEnumerable<User> Get()
    {
        return new User.GetUsers();
    }

    [Route("{name}")]
    [HttpGet]
    public IEnumerable<User> GetByName(string name)
    {
        return new User.GetUsers(name);
    }
}
我打以下电话

localhost/User - - Working
localhost/User/Jane -- Not working throwing error.

我不确定API有什么问题。

在基于约定的路由之前,需要启用属性路由
config.maphttpAttribute路由()

并更新控制器。尽量不要在同一控制器中混合使用基于约定的路由和属性路由

[RoutePrefix("user")]
public class UserController: ApiController
{
    //GET user
    [Route("")]
    [HttpGet]
    public IEnumerable<User> Get() { ... }

    //GET user/Jane
    [Route("{name}")]
    [HttpGet]
    public IEnumerable<User> GetByName(string name) { ... }
}
[RoutePrefix(“用户”)]
公共类用户控制器:ApiController
{
//获取用户
[路线(“”)
[HttpGet]
公共IEnumerable Get(){…}
//获取用户/简
[路由(“{name}”)]
[HttpGet]
公共IEnumerable GetByName(字符串名){…}
}

在基于约定的路由之前,需要启用属性路由
config.MapHttpAttributeRoutes
[RoutePrefix("user")]
public class UserController: ApiController
{
    //GET user
    [Route("")]
    [HttpGet]
    public IEnumerable<User> Get() { ... }

    //GET user/Jane
    [Route("{name}")]
    [HttpGet]
    public IEnumerable<User> GetByName(string name) { ... }
}