Совместное использование доменов и / или поддоменов папок в Visual Studio и IIS7 - Как? - PullRequest
2 голосов
/ 20 апреля 2011

Я нахожусь в процессе полной перестройки / перестройки нашего корпоративного веб-сайта и собираюсь настроить каркас в VS2010 и TFS, а также подготовить вещи в наших средах DEV и QA.В нашей компании есть несколько отдельных бизнес-подразделений, которые либо занимаются определенной бизнес-направленностью, либо являются предприятиями, которые мы переняли, которые не подпадают под наше фирменное наименование и основной домен.

Общая идея реструктуризацииунифицировать внешний вид всех сайтов, за некоторыми исключениями для индивидуальности, такими как логотипы и некоторые элементы дизайна, такие как фоны заголовков, которые будут отражать «корпоративные» цвета этих подразделений.В противном случае все другие ресурсы дизайна (такие как значки и т. Д.), А также большинство JavaScript и BL (скорее всего, через веб-сервисы) будут использоваться совместно.Я хотел бы настроить все так, чтобы мне не нужно было выдвигать ресурсы на несколько сайтов.Одно место для всех сайтов, чтобы получить свои ресурсы.

ВСЕ из этого сказали: Как этот проект должен быть настроен в Visual Studio и, соответственно, в IIS7?Мне нужно учитывать не только наш основной корпоративный домен, но и другие бизнес-подразделения, которые могут иметь собственный домен или просто поддомен.

Моя первая мысль - настроить App_Themes, Scripts ипапка веб-служб для общих ресурсов.Затем каждый домен / поддомен переходит в свою собственную папку в том же проекте, и эти папки домена / поддомена устанавливаются как виртуальные каталоги в IIS.Похоже ли это на лучший путь, или это создаст проблемы, или в конечном итоге не будет правильным решением?

Обновление:

Пока что не так хорошо.Я создал решение с одним проектом.Этот проект имеет несколько папок, по одной для каждого сайта, а также папку для сценариев, изображений и CSS.Каждая папка была настроена как виртуальная в IIS.У меня есть страница default.aspx, которая использует мастер-страницу в корне проекта.Это на самом деле работает отлично.Тем не менее, любые сценарии или ссылки CSS не делают.Что логично, имеет смысл.

Как мне обойти это?Я неправильно подхожу к этому?

1 Ответ

1 голос
/ 02 декабря 2011

Я немного обеспокоен вашим планом:

Затем каждый домен / поддомен переходит в свою собственную папку в том же проекте

Лучшим выбором должен быть каждый домен / поддомен, который входит в отдельную папку как отдельный проект.

Я узнал об этом из книги Microsoft.Press.Programming.Microsoft.ASP.NET.MVC.2nd.Edition.Oct.2011 . Ну, книга сама о программировании MVC. Но загружаемый исходный код является отличным примером общей архитектуры.

Книга: с сайта ее издателя Исходный код: Сопутствующий контент

Моя структура сайта в основном является копией и модификацией их работы.

  • Папка Lib содержит что-то общее для всех сайтов. [ В загруженном коде это что-то общее для примеров веб-приложений во всех главах. ] Мы помещаем в него проекты библиотек классов.

    1. DAL: доменные модели и их интерфейсы
    2. Utils "DateExtensions, EnumExtensions
  • Папка Package содержит все внешние dll, такие как EntityFramework, DataAnnotation ... Используйте ее, если нам нужно публиковать эти пакеты вместе, а не устанавливать ее в IIS.

  • Папка Sites содержит все веб-приложения (домен и поддомен). [ В своем коде это все их примеры приложений, размещенные в каждой папке главы. ]

Лично я люблю эту архитектуру. Если вы хотите использовать общие CSS-файлы, возможное временное решение заключается в размещении общих CSS-файлов на одном веб-сайте, а другие сайты просто ссылаются на него с использованием полного URL-адреса.

Автор книги Дино Эспозито также опубликовал Microsoft® .NET: Архитектура приложений для предприятия . Он действительно эксперт в проектировании систем. Пока я чувствую себя в безопасности и комфортно следовать его примеру. Если у кого-то есть лучший совет, пожалуйста, сообщите нам об этом.

...