web api中的属性路由限制

时间:2013-06-11 11:41:24

标签: asp.net-web-api attributerouting

在attributerouting的文档中,有一系列警告说“performance enhancements when matching routes”不起作用。他们在谈论什么样的性能增强,以及在基于生产的系统中的性能意味着什么?是否足够重要以至于不考虑在生产系统上进行归属?

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

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

1 个答案:

答案 0 :(得分:4)

<强>概要

根据the ASP.NET v5 RTM Betasource进行评估,因为包含AttributeRouting

<强> DETAIL

合并

AttributeRouting已经被AR的包装所有者Tim McCall的合作吸收到ASP.NET v5 RTM中。 v5自2013年2月开始测试。请参阅nightly build上的ASP.NET Roadmap

自定义路由处理程序

参数约束

基于HttpVerbAttribute的类支持(来自the ASP.NET Documentation site的示例):

参数类型约束

    [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) { ... }