ASP NET Web API 2/MVC 5 Маршрутизация атрибутов и ограничения с косой чертой

Мы используем RavenDB на серверной части, поэтому все ключи БД представляют собой строки, содержащие косую черту, например. users/1 в /api/users/1/foo.

Этот вопрос заменяет этот вопрос для предыдущей версии веб-API. Решение, которое я придумал v1, отлично работает, но настройка таблиц немного запутана. v2 вводит маршрутизацию атрибутов, что было бы очень долгожданным изменением.

Однако я не смог найти способ сопоставить части URL-адреса, содержащие косую черту. Я попытался создать пользовательское ограничение, но кажется, что конвейер разделит сегменты URL-адреса, прежде чем пытаться сопоставить его.

Каков самый простой способ расширить сопоставление атрибутов URL =>, чтобы он мог принимать ограничения, содержащие полноценные регулярные выражения (т.е. не регулярные выражения, ограниченные одним сегментом)?


person georgiosd    schedule 30.10.2013    source источник
comment
Вы видели этой статьи, в частности, раздел об ограничениях пользовательского маршрута?   -  person Chris    schedule 12.11.2013
comment
Как упоминалось выше, это позволяет вам указывать ограничения, которые охватывают только один сегмент или, другими словами, не содержат /. /foo/bar/baz становится ["foo", "bar", "baz"] перед применением ограничений, поэтому невозможно установить ограничение, например. bar/baz.   -  person georgiosd    schedule 13.11.2013
comment
Я тоже ищу ответ на этот вопрос... вы нашли решение?   -  person Kenneth LeFebvre    schedule 02.10.2014
comment
Нет, к сожалению, я покинул этот проект, поэтому больше не изучал его. Я также спрашивал на форумах MVC и так и не получил ответа. Рискну предположить, что единственный способ - написать собственную реализацию маршрутизации...   -  person georgiosd    schedule 07.10.2014