【问题标题】:Where is the RouteOrder property on the Route attribute?Route 属性的 RouteOrder 属性在哪里?
【发布时间】:2014-12-25 10:29:32
【问题描述】:

根据asp.net documentationRouteAttribute 上有一个名为RouteOrder 的属性。但是我在代码中找不到。我可以找到Order,但找不到RouteOrder。我应该假设这些是相同的吗?

【问题讨论】:

    标签: asp.net routing asp.net-web-api asp.net-web-api-routing


    【解决方案1】:

    是的,它们是一样的。我在关注同一篇文章时遇到了这个问题(System.Web.Http.RouteAttribute 中不存在RouteOrder)。

    我在我的 Web API 2 应用程序中做了一个快速测试来验证:

    [Route("{name}")] // unconstrained parameter
    [HttpPost]
    public string Test(string data) {
        return data;
    }
    
    [Route("preview")] // literal
    [HttpPost]
    public string Preview(string data) {
        return data;
    }
    

    当我用 Fiddler 打api/preview 时,Preview() 被击中,因为在参数段之前考虑文字段。如果我改变它以降低对文字动作的重要性:

    [Route("preview"), Order = 1] // literal
    [HttpPost]
    public string Preview(string data) {
        return data;
    }
    

    然后再次点击api/previewTest() 被点击,符合RouteOrder 的记录行为。我不知道它为什么被重命名,但它是一样的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-17
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 2018-04-11
      • 1970-01-01
      相关资源
      最近更新 更多