Как использовать URL-маршрутизацию в нескольких средах? - PullRequest
2 голосов
/ 14 апреля 2011

У меня есть три разных среды, с которыми мне нужно иметь возможность использовать URL-маршрутизацию:

  1. Отладка
  2. Live
  3. Демо

Домашние страницы для этих трех:

  1. http://localhost:48060/Login.aspx
  2. http://192.168.0.145/Live/Login.aspx
  3. http://www.website.com/Demo/Login.aspx

И Live, и Demo находятся на одном веб-сайте по умолчанию с веб-приложениями (live предоставляется только внутри, а demo - снаружи).

Я хочу сопоставить их с

  1. http://localhost:48060/login
  2. http://192.168.0.145/Live/login
  3. http://www.website.com/Demo/login

Какой тройной маршрут не повторяется, какой рекомендуемый подход?

Спасибо!

Пример того, как добавить маршрут для Debug env:

routes.MapPageRoute("Login", "login", "~/Views/Login.aspx");

Дополнительная информация:

Когда я попытался добавить

 routes.MapPageRoute("Login", "login", "~/Live/Views/Login.aspx");
 routes.MapPageRoute("Login", "login", "~/Demo/Views/Login.aspx");

маршрутыне работалЯ получил ошибку 404 при попытке посетить http://192.168.0.145/Live/login Не знаю, в чем проблема.

Я использую IIS 7.1 для опубликованных версий и все, что Win XP pro использует для отладки.

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

Оказалось, что это проблема конфигурации, о которой m $ забыл упомянуть. Получил работу, изменив мой web.config для использования runAllManagedModulesForAllRequests

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
1 голос
/ 14 апреля 2011

Вы, похоже, "окружения" - это подкаталоги корня приложения.Поскольку первый из трех ваших URL-адресов не содержит второго значения (например, «http://localhost:48060/debug/login")», будет непросто определить один маршрут для всех трех.

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

Пожалуйста, опишите вашу ситуацию немного лучше, и я обновлю свой ответ более подробной информацией.

...