我正在尝试在我的 StudentController 中实现 ApiController,但问题是我也必须实现 BaseController。
当我这样做时,它不起作用
public class StudentController : BaseController, ApiController
我怎样才能做到这一点?
我正在尝试在我的 StudentController 中实现 ApiController,但问题是我也必须实现 BaseController。
当我这样做时,它不起作用
public class StudentController : BaseController, ApiController
我怎样才能做到这一点?
使您的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
你不能。C# 中不允许多重继承。其他答案为您提供了可能的解决方法,但您不能从多个基类派生。C# 只允许一个继承链。
让你的基础控制器首先从 ApiController 继承,然后从你的学生控制器继承你的基础控制器。
public class BaseController : ApiController
public class StudentController : BaseController