代码之家  ›  专栏  ›  技术社区  ›  Alexander

如果在引用库中派生,则WebAPI找不到指向控制器的路由

  •  0
  • Alexander  · 技术社区  · 7 年前

    我有一个自定义库,现在我正在创建一个使用此库的新应用程序。在使用这个库的大多数项目中,我们使用带有身份验证的WebAPI,因此在这个库中我们有一个自定义类 ApiControllerBase 在我们的控制器里有我们所需要的所有花哨的东西。

    顶点控制器基底 :

    public class LoginController : ApiControllerBase
    {
    

    源自 ApiController :

    abstract public class ApiControllerBase : ApiController
    {
    

    路由找到控制器。

    在我今天创建的新应用中,这不起作用:

    public class ExampleController : ApiControllerBase
    {
        [HttpGet]
        public bool GetTrue()
        {
            return true;
        }
    }
    

    导致错误

    <Error>
    <Message>
    Es wurde keine HTTP-Ressource gefunden, die mit dem Anforderungs-URI "http://localhost:50467/api/Example" übereinstimmt.
    </Message>
    <MessageDetail>
    Es wurde kein Typ gefunden, der mit dem Controller namens "Example" übereinstimmt.
    </MessageDetail>
    </Error>
    

    虽然

    public class ExampleController : ApiController
    {
        [HttpGet]
        public bool GetTrue()
        {
            return true;
        }
    }
    

    正确的结果

    <boolean xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</boolean>
    

    如果我创建一个新的 ApiControllerBaseLocal 在新项目中:

    abstract public class ApiControllerBaseLocal :ApiController
    {
    

    顶点控制器 在库中与类型相同 顶点控制器

    我在这里可能遗漏了什么?

    0 回复  |  直到 7 年前