2011-01-26 3 views
0

Я пытаюсь зарегистрировать коллекцию маршрутов в .net на основе каждого сеанса. Код, который у меня хорошо работает, вы перешли на сайт/имя пользователя и загрузите правильные вспомогательные страницы, но вам нужно перезапустить приложение на сайт goto/имя пользователя2 для загрузки этих вспомогательных страниц. Но когда приложение перезагружается, второе работает, но не первое.Регистрация маршрутов при запуске сеанса не запуска приложения

Есть ли способ создать другую коллекцию маршрутов за сеанс не для приложения, используя system.web.routing.

ответ

1

Вы можете создать свой собственный маршрут. Посмотрите: ASP.Net MVC Framework - Create your own IRouteHandler.

Используя такой подход, вы сможете маршрутизировать по-разному на запрос. Каждый запрос может затем просмотреть ваши значения сеанса, чтобы получить правильный обработчик.

3

Маршруты связаны с названиями маршрутов и хранятся в глобальном масштабе для веб-приложения, поэтому вы не можете определить маршруты в сеансе. Можете ли вы привести пример того, почему вам нужны разные маршруты для разных пользователей? Скорее всего, это можно решить, просто используя шаблоны маршрутов, например, установив RouteUrl в somehting, например: «member/logo/{size}/{UserName} .jpg», где вы можете указать UserName и размер при создании URL маршрута через страницу .GetRouteUrl()

+0

Мне удалось зарегистрировать маршруты в запросе на запуск приложения и его функционировании так, как я этого хочу. Мне нужны разные маршруты для каждого сеанса, потому что у меня есть несколько сайтов, которые запускают разные маршруты из одного домена. Я просто очистил маршруты в объекте начала запроса и перерегистрировал маршруты на основе маршрута. http://site.com/subsite/variable-routes-based-on-subsite. На самом деле это довольно быстро. Спасибо всем за ответы, это вызвало решение – Daniel

+0

Если вы очистите маршруты и переопределите их для каждого пользователя, то как два пользователя могут использовать ваш сайт одновременно? – Andrey

0

RouteTable.Routes является статическим, поэтому одни и те же маршруты являются общими для всех сеансов. Таким образом, у вас не может быть другого набора маршрутов для каждого сеанса.

Смежные вопросы