Может ли ASP.MVC 3 работать в корне сайта и разрешать запуск других приложений ASP.Net в подпапках? - PullRequest
4 голосов
/ 27 апреля 2011

Могу ли я иметь приложение ASP.MVC 3, работающее в корне моего сайта (простая CMS для предоставления содержимого сайта MOST), и совместить его с дополнительными приложениями ASP.Net (2 приложения Web Forms и 1 приложение MVC)запуск в подпапках для обеспечения более специализированных функций?

Пример:

www.mycompany.com
/             // ASP.MVC 3 App goes here to handle 90% of our page content.
/store/       // Older web forms app to handle our online store.
/survey/      // Older web forms app to provide survey forms.
/locations/   // An ASP.MVC 3 app to render a map with site locations.

Я не против при необходимости интегрировать приложение MVC 'location' с CMS, но если они могут быть отдельнымиЭто упростит долгосрочное обслуживание.Нужно ли корневому приложению знать о других?(Включая другие проекты в качестве подпроектов в основной проект MVC в VS.2010?)

Что касается приложений для веб-форм «магазин» и «опрос».Они используют .Net 3.5, но мы могли бы перекомпилировать их в 4.0, если это необходимо.Нужно ли, чтобы папки «store», «survey» и «location» были виртуальными папками, сопоставленными с IIS?

Надеюсь, этот пример достаточно упрощен, чтобы выяснить, возможно ли (и как) интегрировать приложениявместе с ASP.MVC 3 работает в корне сайта.Я нахожусь в ситуации, когда отдельные приложения должны совместно использовать домен и выдавать себя за 1 сплоченный сайт.(Все они будут использовать один и тот же HTML-шаблон)

Ответы [ 2 ]

4 голосов
/ 28 апреля 2011

Просто пометьте эти другие приложения как Приложения в IIS, и это подойдет.

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

Не напрямую - вы будете сражаться с неприятными битвами IIS всю неделю. Возможно, вы сможете добраться туда в конце концов, но это не будет красиво. Здесь есть два возможных подхода:

a) Поместите все это за обратный прокси-сервер, который передает трафик на соответствующий сервер (или виртуальный сервер). Недостатком является то, что вам, возможно, придется сделать небольшое дурачество, чтобы убедить IIS, что ваш магазин работает на http://www.example.com/store вместо http://localhost:666/store, но это выполнимо.

b) Попробуйте включить старые приложения webforms в приложение MVC cms. На самом деле зависит от множества особенностей, но это может быть так же просто, как настроить игнорируемый маршрут и настроить конфигурацию соответствующим образом.

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