为什么Visual Studio支持Web Api控制器继承Controller而不是ControllerBase?

时间:2017-12-07 10:34:09

标签: c# asp.net-core asp.net-core-mvc asp.net-core-webapi

我期待VS2017创建一个用于Web Api的新控制器(即没有UI,没有视图等)来继承

  

AspNetCore.Mvc.ControllerBase (在Microsoft.AspNetCore.Mvc.Core.dll中)

而不是:

  

AspNetCore.Mvc.Controller (位于Microsoft.AspNetCore.Mvc.ViewFeatures.dll中 - 包含视图支持)

VS生成的控制器示例:

namespace WebApi1.Controllers
{
    [Route("api/[controller]")]
    public class ValuesController : Controller
    {   
        // ....

如果我在这里遗失了什么,有人可以帮我理解吗?

如果没有,是否有人对如何防止在WebApi项目中使用Controller有任何想法?

我曾想过在我的WebApi1.Controllers命名空间中实现一个基类的hacky方法,它有效地拦截了一个使用Controller over ControllerBase的WebApi控制器,但是过滤器可能更好?

0 个答案:

没有答案