Вложенные приложения с ASP.NET MVC - PullRequest
2 голосов
/ 11 ноября 2008

В настоящее время я работаю над системой управления контентом asp.net-mvc. Было бы невероятно полезно иметь возможность развертывать вложенные приложения, например / магазин, чтобы иметь отдельное приложение внутри. Или даже другой экземпляр cms.

Я нашел некоторую информацию о разговоре об ограничении наследования web.config, но я понятия не имею, как это отображается в приложении MVC. Я надеюсь, что это, по сути, тот же стек, который будет работать. Хотя все не так просто.

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

Си.

Ответы [ 3 ]

2 голосов
/ 11 ноября 2008

Ознакомьтесь с Группировка контроллеров с ASP.NET MVC от Phil Haack.

Надеюсь, это поможет, Bruno Figueiredo

2 голосов
/ 11 ноября 2008

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

Первое, что вам понадобится, это HttpModule, который будет вставлен в web.config под. Этот модуль будет использоваться для регистрации и пользовательских ViewEngines или маршрутов, которые вы хотите зарегистрировать. Вы делаете это так же, как в Global.asax, но вместо того, чтобы помещать их в Application_Start, вы помещаете их в статический конструктор HttpModule. Это происходит так, что они загружаются только один раз, как Application_Start.

Сделав вышеописанное, вы создадите модуль, который легко переносится и не требует от имплиментера изменять свой код Global.asax, чтобы заставить ваши вещи работать.

Второе, что вы, вероятно, захотите сделать, - это создать пользовательскую конфигурацию в web.config для установки таких вещей, как корневой путь вашего приложения. Это будет добавлено к маршруту при настройке в HttpModule. Также вы можете использовать это для хранения информации о настройке, которая не подходит для базы данных.

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

0 голосов
/ 11 ноября 2008

Я шел по этому пути раньше (с / blog), но нашел, что это выполнимо, но сложно и сложно поддерживать. Вместо этого я использовал субдомены:

  • www.example.com
  • shop.example.com
  • blog.example.com

Их гораздо проще поддерживать, потому что вы можете просто заставить их работать как отдельные веб-сайты в IIS. И, конечно же, вы всегда можете перенаправить www.example.com/shop на shop.example.com.

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