2

我正在尝试在我的 StudentController 中实现 ApiController,但问题是我也必须实现 BaseController。

当我这样做时,它不起作用

public class StudentController : BaseController, ApiController

我怎样才能做到这一点?

4

3 回答 3

5

使您的BaseController派生自ApiController.

public class BaseController: ApiController
{
...

public class StudentController : BaseController
{
...

如果你想在同一个应用程序中使用 WebApi 和 MVC,你可以使用不同的命名空间。

namespace Applicationrootns.Controllers
{
    public class StudentController : Controller
    {
        ....
    }
}

namespace Applicationrootns.Controllers.Api
{
    public class StudentController : ApiController
    {
       ....
    }
}

现在有了这个你可以访问

applicaitonbase/student/applicaitonbase/api/student

于 2013-04-23T05:09:32.483 回答
1

你不能。C# 中不允许多重继承。其他答案为您提供了可能的解决方法,但您不能从多个基类派生。C# 只允许一个继承链。

于 2013-10-20T05:21:05.687 回答
1

让你的基础控制器首先从 ApiController 继承,然后从你的学生控制器继承你的基础控制器。

public class BaseController : ApiController

public class StudentController : BaseController 
于 2013-04-23T05:11:09.760 回答