C#面试题更新 2026-08-05

请阐述 ASP.NET Core 的基本概念,并比较它与 ASP.NET MVC 的主要差异。

技术原理ASP.NET CoreC#

考察说明

考查对 ASP.NET Core 框架的定位及其与经典 ASP.NET MVC 差异的理解。

回答思路

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