Multi Presentation корпоративное решение - PullRequest
0 голосов
/ 06 октября 2010

Я работаю над созданием корпоративного веб-приложения, которое будет иметь единую кодовую базу и единую базу данных (не нужно никакой гибкости в базе данных, основанной на арендаторах), но различные презентации, основанные на клиентах.У нас может быть от 3 до 4 разных клиентов (веб-сайтов), использующих одну и ту же базовую логику и скелет, но специфичные для клиента верхние и нижние колонтитулы, изображения, CSS и т. Д. Мне нужно решение для нескольких презентаций, а затем полноценное многопользовательское.Большинство сэмплов, которые я видел в Интернете, ориентированы на полноценную многопользовательскую аренду. Я не думаю, что мне нужны такие сложные вещи.Я нашел здесь некоторую информацию, которая очень полезна в моем случае:

http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/

Как указано в приведенной выше ссылке, я могу идентифицировать и получить уникальный идентификатор на основе домена, запрошенного какв соответствии с приведенной ниже конфигурацией в моем файле web.config:

<configuration>
    <appSettings>
        <add key="MySite1.MyDomain.com" value="1"/>
        <add key="www.MySite1.MyDomain.com" value="1"/>
        <add key="MySite2.MyDomain.com" value="2"/>
        <add key="localhost" value="1"/>
    </appSettings>
</configuration>

После этого, как мне динамически выбирать мою главную страницу, изображения и CSS-файлы на основе идентификатора?Также я буду заполнять класс «CustomAppSettings» (как предложено в статье) из базы данных. Целесообразно ли сделать его статичным, чтобы к нему можно было обращаться в разных слоях?иначе каков рекомендуемый способ?

Ваши предложения будут очень признательны.

Ответы [ 2 ]

0 голосов
/ 07 октября 2010

Это может помочь вам определить «арендатора» во входящем запросе.

Я бы не стал динамически выбирать другой файл MasterPage, но скорее рендерил бы другой контент на MasterPage через Html Helpers / Patrial Views (или оба).

0 голосов
/ 07 октября 2010

Рад видеть, что вы получаете некоторую пользу от этой статьи.Что касается ответа, я обычно использую пользовательский класс страницы, который наследуется от system.web.ui.page.В page_init пользовательского класса страниц вы можете установить главную страницу и т. Д.вместо System.Web.UI.Page.

Удачи

...