Asp.net web api ASP NET Web API 2/MVC 5带正斜杠的属性路由和约束

Asp.net web api ASP NET Web API 2/MVC 5带正斜杠的属性路由和约束,asp.net-web-api,asp.net-mvc-5,asp.net-web-api-routing,Asp.net Web Api,Asp.net Mvc 5,Asp.net Web Api Routing,我们在后端使用RavenDB,因此所有DB键都是包含前斜杠的字符串,例如/api/users/1/foo中的users/1 这个问题取代了以前版本的Web API的问题。 我提出的解决方案v1运行良好,但设置表格时有点混乱。v2引入了属性路由,这将是一个非常受欢迎的变化 然而,我找不到方法来匹配URL中包含正斜杠的部分。我尝试创建一个自定义约束,但管道似乎会在尝试匹配它之前分割URL段 扩展URL=>属性匹配器以使其能够接受包含完整正则表达式(即不限于一个段的正则表达式)的约束的最简单方法是什么

我们在后端使用RavenDB,因此所有DB键都是包含前斜杠的字符串,例如
/api/users/1/foo
中的
users/1

这个问题取代了以前版本的Web API的问题。 我提出的解决方案v1运行良好,但设置表格时有点混乱。v2引入了属性路由,这将是一个非常受欢迎的变化

然而,我找不到方法来匹配URL中包含正斜杠的部分。我尝试创建一个自定义约束,但管道似乎会在尝试匹配它之前分割URL段


扩展URL=>属性匹配器以使其能够接受包含完整正则表达式(即不限于一个段的正则表达式)的约束的最简单方法是什么?

您是否看到了,特别是关于自定义路由约束的部分?如上所述,这允许您指定仅跨一个段的约束,或者不包含
/
的约束
/foo/bar/baz
在应用约束之前变成
[“foo”,“bar”,“baz”]
,因此无法对例如
bar/baz
进行约束。我也在寻找答案。。。你找到解决方案了吗?没有,不幸的是,我离开了那个项目,所以从来没有深入研究过。我也在MVC论坛上问过,但一直没有得到答案。我冒昧地猜测,唯一的方法是编写自己的路由实现。。。