You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求解析ASP.NET Core中“URL模式匹配的段变量”的含义

解释URL模式匹配的段变量名称和值

这是ASP.NET Core路由系统里的基础概念,结合你给出的代码和示例,拆解说明如下:

1. 段变量的名称

在路由定义的URL模板里,用{}包裹的部分就是段变量名称。比如代码里的路由模板:

endpoints.MapGet("{first}/{second}/{third}", async context => {
    foreach (var kvp in context.Request.RouteValues) {
        await context.Response.WriteAsync($"{kvp.Key}: {kvp.Value}\n");
    } 
})

这里的first、second、third就是预先定义的段变量名称,用来标记URL中对应位置的内容。

2. 段变量的值

当用户发起的请求URL和这个路由模板匹配时,URL中对应位置的实际内容就是段变量的值。比如请求http://localhost:5000/apples/oranges/cherries:

  • URL被/分割为三段:apples、oranges、cherries
  • 系统会自动将这些值与模板里的变量名称一一对应:
    • first → apples
    • second → oranges
    • third → cherries

3. RouteValues的作用

HttpRequest.RouteValues是一个RouteValuesDictionary类型的字典,它存储了所有“变量名称-对应值”的配对。代码中的foreach循环就是遍历这个字典,最终会输出如下内容:

first: apples
second: oranges
third: cherries

补充原文说明:RouteValuesDictionary类是可枚举的,这意味着它可以在foreach循环中生成一系列KeyValuePair<string, object>对象,每个对象对应一个段变量的名称以及从请求URL中提取的对应值。

内容的提问来源于stack exchange,提问作者Hossein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:55:17