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

请解释 ASP.NET Core 中 Endpoint Routing 的概念,并说明如何配置路由策略?

考察说明

考查对 ASP.NET Core 路由机制的理解及配置能力。

回答思路

  1. 【回答框架 1】Endpoint Routing 是 ASP.NET Core 中用于将 HTTP 请求映射到应用可执行端点的过程,核心是端点定义与路由匹配分离。它由 UseRouting 和 UseEndpoints 中间件组成,前者匹配请求,后者执行端点。
  2. 【回答框架 2】配置路由策略主要通过 MapGet、MapPost 等扩展方法定义端点,或使用 MapControllers 映射控制器。路由模板支持参数、约束和默认值,如 {id:int} 表示整数参数。
  3. 【回答框架 3】路由匹配遵循优先级规则,更具体的模板优先,例如字面量优于参数。可使用 RouteName 命名路由,便于生成链接。
  4. 【回答框架 4】配置时需注意中间件顺序,UseRouting 应在 UseEndpoints 之前,且认证授权中间件需在两者之间。
  5. 【回答框架 5】对于复杂场景,可使用 IRouteBuilder 或自定义约束,但通常推荐基于特性的路由或端点映射。
  6. 【关键点 1】Endpoint Routing 分离了路由匹配与端点执行。
  7. 【关键点 2】通过 MapGet、MapControllers 等配置端点。
  8. 【关键点 3】路由模板支持参数、约束和默认值。
  9. 【关键点 4】中间件顺序影响路由与授权。
  10. 【关键点 5】优先级规则决定匹配结果。
  11. 【易错点 1】忽略中间件顺序导致路由不生效。
  12. 【易错点 2】过度依赖复杂路由模板降低可读性。
  13. 【易错点 3】未考虑路由优先级导致匹配错误。