.NET 5/6 环境下 Razor Pages 是否位于 MVC 层之上的技术问询
关于ASP.NET Core中Razor Pages与MVC的层级关系说明
你看到的架构图标注是从底层实现依赖的角度给出的,和开发范式层面的「两类独立模板」定位并不冲突,具体原因如下:
- Razor Pages确实构建于MVC核心基础设施之上,并非完全从零实现的独立框架。二者共享模型绑定、参数验证、路由系统、过滤器、依赖注入、Razor视图引擎等所有核心底层能力,你甚至可以在Razor Pages项目中直接编写Controller、Action代码无缝运行,不需要额外引入任何依赖包。Razor Pages中的PageModel本质上就是对MVC中Controller和Action逻辑的轻量化封装,省去了开发者手动定义Controller、映射路由的重复工作。
- 二者所谓的「独立」是针对开发使用范式的定位:
- MVC采用控制器+动作分离的设计,更适合开发接口密集、路由逻辑复杂的服务类、后台管理类项目
- Razor Pages采用页面对应代码后置的页面优先设计,更适合开发以页面交互为主的前端类Web应用,开发效率更高,也因此成为官方推荐的新页面项目首选方案
架构图的层级标注只是说明实现层面的依赖关系,不代表Razor Pages是MVC的附属功能,二者在开发选型上确实是平行的可选模板。
内容的提问来源于stack exchange,提问作者variable
相关产品推荐
相关产品推荐

