请阐述 ASP.NET Core 的基本概念,并比较它与 ASP.NET MVC 的主要差异。
考察说明
考查对 ASP.NET Core 框架的定位及其与经典 ASP.NET MVC 差异的理解。
回答思路
- 【回答框架 1】ASP.NET Core 是微软推出的跨平台、高性能、开源的 Web 开发框架,是 ASP.NET 的重新设计,支持模块化中间件、依赖注入和统一 MVC 与 Web API 的编程模型。
- 【回答框架 2】与 ASP.NET MVC 对比,ASP.NET Core 从基于 System.Web.dll 的 IIS 绑定变为独立于 IIS 的 Kestrel 服务器,可运行于 Windows、Linux 和 macOS;配置采用 appsettings.json 和环境变量,替代 web.config;内置依赖注入,默认支持 IHost 和泛型主机。
- 【回答框架 3】ASP.NET Core 通过 StartUp 或最小托管模型的中间件管道处理请求,MVC 作为其中的一个中间件组件,且支持多种路由方式;而旧 ASP.NET MVC 紧密耦合 System.Web,扩展性和可测试性较弱,仅适用于 Windows。
- 【回答框架 4】在性能方面,ASP.NET Core 因开源和运行时优化通常比旧版 ASP.NET MVC 吞吐量更高,且支持进程内运行。
- 【关键点 1】ASP.NET Core 跨平台且开源,摆脱了 System.Web 的依赖,采用中间件管道和内置依赖注入。
- 【关键点 2】与 ASP.NET MVC 的差异集中在托管方式、配置体系、可扩展性和跨平台能力。
- 【关键点 3】旧版 ASP.NET MVC 仅支持 Windows,而 ASP.NET Core 可跨平台并支持一体化 MVC 与 Web API。
- 【易错点 1】不要将 ASP.NET Core 视为简单升级,它是重写框架,不兼容旧版 System.Web 应用。
- 【易错点 2】避免忽略依赖注入和中间件是 ASP.NET Core 的核心机制,若仅按 MVC 模式回答易失偏颇。