У меня есть приложение ASP.NET MVC со следующими требованиями к развертыванию:
Структура URL должна быть примерно такой:
http://server/app/[enterprise]/[communinty]/{controller}/{action}/...
То, что я хочу сделать, это перехватить URL-адрес до того, как обработчик маршрута MVC получит его, удалить части [enterprise] / [community] и затем позволить MVC продолжить обработку, как если бы исходный текст URL не содержал эти два сегмента.
И вот почему:
Приложение предоставляет несколько порталов нескольким клиентам (предприятиям), и каждое сообщество в пределах предприятия имеет свою собственную совокупность пользователей. Схему такого типа можно также обслуживать путем физического развертывания одного экземпляра приложения (binaries, content, web.config) в каждом каталоге [community], но по соображениям логистики и производительности я не думаю, что мы хотим идти по этому пути. Поэтому я пытаюсь виртуализировать его с помощью трюков с маршрутизацией.
Буду признателен за любые предложения по поводу этой схемы или альтернативные решения.
Мы находимся на IIS 7, если это что-то меняет.