Перенаправление в область без влияния на URL в ASP.Net MVC3 - PullRequest
1 голос
/ 27 июня 2011

Можно ли перенаправить запрос MVC3 на маршрут области без использования перенаправления 301/302 после первоначального перенаправления?Позвольте мне объяснить, что я хочу, поскольку это звучит сложно даже для меня.

Основной поток:

  1. Запрос: http://somedomain.com/?ContextId=00001
  2. Перенаправление
    • Подача контента из зоны 01;диспетчер дома;индекс действия
    • Удалена запись строки запроса ContextId из URL

Таким образом, конечный результат состоит в том, что все запросы к http://somdomain.com после начального ContextIdset будет использовать область до тех пор, пока не будет указан новый ContextId.

Я могу использовать IHttpModule для захвата строки запроса и затем установить некоторое значение в сеансе для последующих запросов, но тогда мне нужновыполнить RedirectToXXXX() вызов для перенаправления.Это создаст URL с включенной областью, а затем мне нужно будет идентифицировать такие «сопоставленные» запросы в будущем, чтобы предотвратить циклы перенаправления.Euwwww.

Я посмотрел на пользовательские ограничения маршрута, но маршрутизация происходит так рано в конвейере, что нет доступного сеанса, что затрудняет "знать", является ли маршрут, к которому привязано ограничениехочу.Тем более, что я не хочу, чтобы область была включена в запрашивающий URL на этом этапе.

Возможно ли это?Любые мысли будут приветствоваться.

1 Ответ

0 голосов
/ 28 июня 2011

Вы можете сохранить контекст в cookie и использовать значение cookie в RouteConstraint для принудительного соответствия соответствующей области.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...