Приложение ASP.NET MVC2 разделено на несколько сборок, имеющих представления в каждой сборке - PullRequest
0 голосов
/ 29 декабря 2010

Я хочу реализовать базовое веб-приложение с использованием ASP.NET MVC2, которое будет автоматически сканировать развернутые сборки на наличие реализаций определенного интерфейса - давайте назовем его IWebModule.Поэтому сторонние поставщики должны иметь возможность реализовать интерфейс для интеграции своего модуля в приложение.Конечно, должно быть как минимум две сборки - одна для базового веб-приложения и одна для модуля.

Чтобы сделать вещи более понятными, представьте, что базовое приложение имеет представление предпочтений, которое отображает все доступныеРеализации IWebModule в дереве и при щелчке на одном из узлов будет показано представление специфичных для модуля предпочтений.

Стороннее представление настроек, контроллер и модель должны быть реализованы в CustomeModuleSolution, а не в BaseApplicationSolution,Этот подход также должен быть применим для других вещей, таких как меню приложений, панели инструментов и т. Д. Функциональность приложения может быть расширена путем простой реализации предоставленных интерфейсов базового приложения - так что это похоже на использование точек расширения для добавления функциональности в приложение путем реализации интерфейсов, которые регистрируютнадстройки и обработчики событий для дальнейшего использования.

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

CustomModuleSolution
|-Controllers
|-Models
|-Views
 |-Preferences
  |-CustomModulePreferenceView.aspx


BaseApplicationSolution
|-Controllers
|-Models
|-Views
 |-Preferences
  |-Preferences.aspx

Если есть способ сделать это, пожалуйста, дайте мне знать.Кто-нибудь знает решение, чтобы сделать это с помощью WebForms?

Я ценю вашу помощь!Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 29 декабря 2010

Насколько я знаю, то, что вы просите, изначально не поддерживается MVC 2 или 3.

Люди нашли обходные пути:

http://codeofrob.com/archive/2010/02/14/multi-tenancy-in-asp.net-mvc-controller-actions-part-i.aspx

Это довольно хорошее решение:

http://mvcex.codeplex.com/

Google для "mvc multitenancy" для других примеров.

0 голосов
/ 19 февраля 2011

Я нашел другое решение для этого в блоге Зака ​​Оуэнса, который можно найти здесь . Спасибо за все ваши предложения и идеи!

0 голосов
/ 29 декабря 2010

Это очень похоже на Переносные зоны из MvcContrib Возможно, вы можете посмотреть на то, что они сделали.

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