Какие есть идеи по организации более сложного роутинга?
Например.
Есть несколько вариантов сайта — "html", "silverlight", "mobile", "touch".
Соответственно для каждого из них есть собственный контроллер и набор соответствующих view.
Набор страниц для каждой версии примерно одинаков — "index", "profile", "messages" и т.д.
Таким образом у нас есть пути:
— site.com/html/index
— site.com/html/profile
— site.com/mobile/index
— site.com/mobile/profile
— ...
Охота, чтобы при заходе на страницы типа "site.com/index", "site.com/profile" для пользователя определялась подходящий ему вариант сайта, записывалась в Cookie и он продолжал с ним работать.
Так же у пользователя есть возможность сменить текущий вариант.
Хочется каким-то образом расширить логику роутинга, чтобы при заходе на страницы без указания варианта сайта, роутер по кукам отправлял к нужному контроллеру.
Пока приходит на ум только такой вариант — создать контроллер "RouteController", установить его для корневых страниц, в нем проверять куки и делать редирект к нужному контроллеру.
А хочется что-то типа
RouteBuilder.Current.SetRouteFactory(MyRouteFactory);
Такой возможности я не нашел, может не там искал?