通常在 OpenRasta 中有一些这样的配置:
ResourceSpace.Has.ResourcesOfType<Customers>()
.AtUri("/customers/region/{region}")
... // and so on
...其中{region}
路径的一部分自动映射到处理方法中的字符串参数。因此,如果用户点击:
http://server/customers/region/emea
然后处理程序方法被传递字符串“emea”。
除了这样做之外,我还想注册一个处理程序,如下所示:
ResourceSpace.Has.ResourcesOfType<Customers>()
.AtUri("/someotherthing/*")
... // and so on
在这个虚构的语法中,星号表示“将路径的其余部分(包括斜杠)作为单个字符串参数传递给处理方法”。因此,如果用户点击:
http://server/someotherthing/how/about/this?that=other
然后我的处理程序方法接收一个字符串参数:
how/about/this?that=other
在 OpenRasta 中这样的事情可能吗?
在 Sinatra (Ruby) 中,我会使用正则表达式来做到这一点。
更新:到目前为止,我的猜测是一个自定义管道,它以某种方式掩盖斜线的路径......