4

在属性路由的文档中,有一系列警告说“匹配路由时的性能增强”不起作用。他们在谈论什么样的性能增强,这对于基于生产的系统中的性能意味着什么 - 它是否足够重要以至于不考虑在生产系统上进行属性路由?

关于自定义路由处理程序和查询字符串参数约束的更多细节怎么样?“自定义”是什么意思,对于查询字符串约束,是对数据类型的约束吗?

我想更多地了解这一点,并衡量它在我的用例中的影响,以判断 web-api 的属性路由包是否适合我的生产 api。

4

1 回答 1

4

概括

根据ASP.NET v5 RTM Beta进行评估,无论是从源代码还是夜间构建,因为它包括 AttributeRouting

细节

合并

在 AR 的包所有者 Tim McCall 的合作下,AttributeRouting 已被吸收到 ASP.NET v5 RTM 中。自 2013 年 2 月以来,v5 一直处于测试阶段。请参阅ASP.NET 文档站点上的ASP.NET 路线图

自定义路由处理程序

参数约束

基于 HttpVerbAttribute 的类支持(来自AttributeRoutingTest.cs的示例):

参数类型约束

    [HttpGet("controller/{id:int}")]
    public string Get(int id) { ... }

可选参数

    [HttpGet("optional/{opt1?}/{opt2?}")]
    public string Optional(string opt1 = null, string opt2 = null) { ... }

属性内默认值

    [HttpGet("default/{default1=D1}/{default2=D2}")]
    public string Default(string default1, string default2) { ... }

通配符参数

    [HttpGet("wildcard/{*wildcard}")]
    public string Wildcard(string wildcard) { ... }
于 2013-06-18T00:46:02.657 回答