Разделение / Модуляризация больших проектов веб-приложений ASP.NET - PullRequest
9 голосов
/ 19 декабря 2008

Наша компания имеет довольно большое веб-приложение ASP.NET. Приложение уже разбито на отдельные «области» бизнес-функциональности. Я ищу некоторые стратегии, которые мы можем использовать, чтобы разделить это веб-приложение на отдельные модули, которые можно собирать и редактировать.

Основная цель:

Позволяет нам развертывать веб-приложение только с отдельными областями функциональности.

Я представляю родительское веб-приложение как «оболочку», которая может содержать «плагины», которые могут регистрироваться как пункты меню в иерархии навигации родительского веб-приложения. Родительское веб-приложение будет содержать главную страницу, таблицы стилей и общие элементы управления, используемые плагинами.

Какие у вас есть идеи для реализации чего-то подобного?

Ответы [ 2 ]

6 голосов
/ 19 декабря 2008

Я бы занимался суб-веб проектами. Каждый веб-сайт является подпроектом родительского веб-сайта. Вы можете написать HttpModule, который проверяет некоторое хранилище данных, чтобы увидеть, есть ли у этого клиента доступ к этому сайту (модулю), и запретить доступ таким образом. У Скотта Гатри есть хороший пост о том, как настроить суб-веб-проекты здесь .

2 голосов
/ 20 декабря 2008

Один из простых способов сделать это - просто использовать SiteMap. Вы можете отделить ваши файлы aspx и скомпилировать разные DLL все, что вы хотите. Карта сайта полностью независима и может быть настроена, однако вы хотите включить любые модули, какие хотите, с любыми разрешениями, которые вы хотите. Нет никакой необходимости для каких-либо модулей кода регистрировать себя с другими модулями кода. Это ASP.NET, каждый запрос независим и может начинаться с любой точки входа aspx. Что касается ваших страниц, активировать межмодульную функциональность так же просто, как предоставить ссылку на страницу в другом модуле. SiteMap выполняет это легко.

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