Я занимаюсь разработкой сайта, который имеет модульную структуру.
Каждый сегмент URL представляет элемент контента.
Например, URL: www.mysite.com/blogs/programming/2010/01/
Корневой элемент - это «блоги» типа «область». У него есть дочерний элемент «программирование» типа «блог».
Теперь от URL осталось «2010/01».
Последним действительным (маршрутизируемым) элементом 'программирование' был блог, поэтому мне нужно сопоставить '2010/01' с действием
BlogController.Date (int blogid, int year, int? Month, int? Day)
Каждый контроллер поступает из модуля (отдельного dll), который регистрирует некоторые типы элементов (типы блогов регистрируют «blog» (маршрутизируемый) и «post» (не маршрутизируемый). «Blog» может иметь дочерние элементы типа «post») ,
Когда последний действительный (маршрутизируемый) элемент URL обнаружен, логика знает, какую сборку и контроллер искать. Теперь мне нужен способ вызвать правильное действие с правильными параметрами.
Некоторые маршруты для элемента типа 'блог'
{year}/
{year}/{month}
{year}/{month}/{day}
feed/
category/{category-name}/
tag/{tag-name}/
search/{*phrase}
{*post-name}
Любые предложения, что бы сделать простой способ маршрутизации?