asp.net-web-api - Web API 2 : Added a new controller, 它不会注册?

标签 asp.net-web-api asp.net-web-api-routing

在这里玩得很开心...(Web API 2.1、.NET 4.5.1)

我有一个完美运行的 Controller :

[RoutePrefix("v1/members")]
public class MembersController : ApiController
{
    [Route("{id}")]
    public Member Get(string id)
    {
        DataGateway g = new DataGateway();

        return g.GetMember(id);
    }
}

按预期和期望的方式工作:

/v1/members/12345

但是我今天添加了一个新的 Controller ,它似乎根本没有被注册或识别。它没有被添加到帮助页面,并且在尝试访问它时返回 404 Not Found:

[RoutePrefix("v1/test")]
public class Test : ApiController
{
    [Route("{id}")]
    public string Get(int id)
    {
        return "value";
    }
}

如我所说,新 Controller 不会出现在帮助页面中并返回 404:

/v1/test/12345

Screenshot

我做错了什么?

编辑添加:

我安装了 tracing,但它似乎并没有成功。第一个 Controller 工作正常并显示跟踪,新的测试 Controller 不显示任何跟踪信息。

编辑 2:

更新了示例代码以更好地匹配我的实际代码,这一直是问题所在。

最佳答案

问题出在这里:

[RoutePrefix("v1/test")]
public class Test : ApiController

更改为:

[RoutePrefix("v1/test")]
public class TestController : ApiController

似乎万能的重要词“Controller”需要出现在类名中才能发生魔法。

关于asp.net-web-api - Web API 2 : Added a new controller, 它不会注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22719420/

相关文章:

c# - 我如何在 .Net 控制台应用程序中获取不记名 token ?

routing - 路由中的多个 Controller

c# - web api路由和http post

c# - 使用 Web API 返回匿名类型

asp.net-mvc-4 - MVC4 应用程序 + WebApi 中的 SimpleMembership 使用基本 HTTP 身份验证

asp.net-web-api - Asp.Net Web API 和属性路由 - 没有重载的属性构造函数?

asp.net-mvc - 如何从 Controller 为存储库的构造函数指定参数?

asp.net-mvc-4 - 具有不同参数名称的 Web api 路由方法

asp.net-mvc - 存在多个获取操作时的 MVC API 路由

javascript - 无法设置未定义的属性 'XY'