Asp.net mvc 带.NET MVC 5属性路由的贪婪段

Asp.net mvc 带.NET MVC 5属性路由的贪婪段,asp.net-mvc,asp.net-mvc-5,attributerouting,Asp.net Mvc,Asp.net Mvc 5,Attributerouting,我想定义一条路线如下- [Route("clients/{*code}/{id:guid}/update")] public ActionResult Update(string code, Guid id) { } 代码将类似于“foo/bar/xyz” 不幸的是,框外MVC不支持路由定义中间的贪婪参数。 这之前一直使用旧的MVC路由约定,但是我希望将其作为RouteAttribute定义。据我所知,您无法直接执行此操作。但是,您应该能够使用 IIS模块URLReRead < /强>,并在中

我想定义一条路线如下-

[Route("clients/{*code}/{id:guid}/update")]
public ActionResult Update(string code, Guid id)
{
}
代码将类似于“foo/bar/xyz”

不幸的是,框外MVC不支持路由定义中间的贪婪参数。


这之前一直使用旧的MVC路由约定,但是我希望将其作为RouteAttribute定义。

据我所知,您无法直接执行此操作。但是,您应该能够使用<强> IIS模块URLReRead < /强>,并在中间用贪婪参数重写查询,最后用贪婪参数重写。p> 因此客户端查询:
clients/{*code}/{id:guid}/update

您的web api可以看到
客户端/{id:guid}/update/{*code}

,我可以告诉您,除了使用像这样的自定义代码之外,没有现成的方法可以做到这一点。希望有帮助。

可以接受
客户机/{id:guid}/update/{*code}
路径吗?@DaveAlperovich遗憾的是,这将出现在url的末尾。路由需要支持中间的贪婪参数。