Развертывание нескольких сайтов в одной кодовой базе - Asp.Net, C #, MVC - PullRequest
1 голос
/ 09 ноября 2010

Я недавно унаследовал решение, включающее около 10 проектов.6 из этих проектов представляют собой отдельные веб-сайты, которые в основном являются копиями / вставками оригинала.

Это означает, что любые изменения, которые необходимо внести, должны быть внесены в каждый проект для обновления всех веб-сайтов.

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

Как люди обычно подходят к этому?Я поделюсь своими мыслями об этом, и, надеюсь, некоторые из вас могут указать лучшие способы для достижения этой цели или, по крайней мере, дать мне некоторое подтверждение того, что я на правильном пути.

  • Иметь мастер-разметку сочень общие контейнеры.
  • Разрешить пользователям / настройщикам сайта добавлять виджеты на сайт, которые будут назначаться местозаполнителям виджетов вверху и внизу всех универсальных контейнеров.
  • Все стилии цвета будут контролироваться с помощью таблицы стилей, которую можно поменять местами.
  • Я знаю, что вы можете сделать какую-то тему.Означает ли это, что вы просто меняете группы css и позволяете вам настроить, какой из них использовать в webconfig?
  • Для элементов, которые будут одинаковыми для всех сайтов, например, для изображений нижнего колонтитула, существует соглашение об именовании.Поэтому, если я хочу, чтобы на сайте A был какой-то образ нижнего колонтитула, я просто заменяю footer.jpg в проекте при развертывании.

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

К сожалению, это вопрос, который может получить ответ «Это зависит», поскольку каждый из этих подходов может использоваться или не использоваться в зависимости от потребностей проекта. Если проекты различаются только в зависимости от презентации, то главные страницы в сочетании с CSS могут стать разумным решением.

1 голос
/ 09 ноября 2010

Ваш подход хорош.

  1. Вы должны использовать мастер-разметку
  2. Ваша веб-система будет CMS
  3. Вы можете использовать темы для определения стилей различных проектов.или вы можете динамически связывать CSS-файлы
  4. , если они действительно являются копиями друг друга, а вы можете сделать это очень общим, определив их как один веб-сайт и поместив все настройки разметки изображений CSS в базу данных
  5. Если вы не хотите делать все очень универсальным, вы можете создавать веб-элементы управления и динамически загружать их во время выполнения в соответствии с проектом (помните, вы можете загрузить WebUserControls во время выполнения, используя метод LoadControl)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...