2015-06-01 5 views
2

Предположим, у меня есть проект MVC, где есть корневая папка MVC2 и. Теперь я хочу другой проект MVC в эту папку MVC2 и обслуживать его.Как запустить проект ASP.NET MVC внутри другого проекта ASP.NET MVC

Ниже url должен служить проект MVC2, который является только папкой внутри корневого проекта. Корневой проект также MVC.

  • currentSite.com -> текущее приложение MVC
  • currentSite.com/MVC2/ -> должен запустить вложенный MVC приложение.

Я думаю, что должна быть настройка webconfig, которая должна заставить ее работать.

Заранее спасибо. Любой ответ будет очень оценен.

Возможно ли это? и если да, возможно ли взаимодействовать друг с другом.

+1

'виртуальный каталог' ?? –

+0

Может быть, я просто хотел запустить приложение MVC2 из корневого приложения или как этот url: currentSite.com/MVC2/ –

ответ

2

Я бы решительно передумал вашу архитектуру, если вам нужно встроить проекты MVC друг в друга. В зависимости от того, насколько тесно связаны эти два, я думаю о поездке в следующих направлениях:

  1. MVC Области - Если оба ваши проекты сильно связаны между собой, имеют много одного и того же кода и ресурсов, то я бы поместите их как две отдельные области в вашем приложении. По умолчанию маршрутизация по умолчанию даст вам currentSite.com/MVC2, если ваша область называется MVC2. Этот подход означает, что вы всегда будете развертывать оба сайта вместе (если это то, что вам нужно учитывать).
  2. Отдельные проекты - Если между ними нет большого сходства, и вы предпочтете их разделить, просто попросите их посидеть в одном решении и перенести общий код в отдельный проект библиотеки классов, который сидит в одном решении. Вы даже можете скомпилировать свои представления, используя что-то вроде RazorGenerator, если вам нужно поделиться любыми представлениями между этими двумя проектами. Этот подход также означает, что вы также можете развернуть свои сайты по отдельности, если вам нужно. Чтобы достичь желаемого URL-адреса currentSite.com/MVC2 в этом сценарии, вы можете просто настроить его как виртуальный каталог в IIS.