Dav*_*ell 23 c# oop asp.net-mvc
我有一个我正在构建的ASP.NET MVC项目,当我遇到Controller类的实现方式时,我正在浏览一些文档.我对OOP非常熟悉,但对于为什么以这种方式实现它有一些问题.
我查看了codeproject和一些堆栈溢出问题,但找不到我想知道的相同问题.
提前致谢!
LxL*_*LxL 54
在MVC 5中,ControllerBase
只是像一个基本类一样,主要用于内部使用并在内部实现IController.Execute(RequestContext requestContext)
,这里是我从Resharper获得的用法列表
在Controller
随后实现了所有的功能的过滤器,模型和视图结合.因此,要实现你MyController
,你需要从中衍生出来Controller
您的SO 参考已经解释了ControllerBase
和的目的Controller
.
当ASP.NET团队将MVC,WebAPI融合到一个框架中时,MVC 6(后来称为ASP.NET MVC Core)看起来更有趣了
请查看GitHub for ASP.NET Core 1.1.1中Controller和ControllerBase类的源代码.在<summary>
每个班级的标签中,他们说:
具有视图支持的MVC控制器的基类.
没有视图支持的MVC控制器的基类.
您可能会问何时使用ControllerBase.我的直觉告诉我,如果我只使用ASP.NET MVC进行WebAPI并且不需要该View
功能,那么您可以MyController
直接从中派生出来ControllerBase
.大多数情况下,Controller
即使您不使用View
并且仅为WebAPI返回字符串或JSON ,您也可以派生.Controller.cs
允许您返回View
并利用自动绑定.
归档时间: |
|
查看次数: |
13488 次 |
最近记录: |