Несколько клиентов должны иметь одну копию проекта или каждый клиент имеет свою собственную копию? - PullRequest
5 голосов
/ 03 февраля 2012

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

Я использую Asp.net MVC и SQLServer. Что вы предлагаете.

Ответы [ 2 ]

6 голосов
/ 03 февраля 2012

Создание отдельных проектов для каждого клиента будет проблематичным в обслуживании, в то время как один проект для всех клиентов может быть сложно настроить. Это тонкая грань, и ваши потребности будут определять, как вы строите свое решение.

Один из моих недавних проектов, в которых мы выполняем SAS (Программное обеспечение как услуга), мы смогли создать наше приложение MVC, используя архитектуру плагинов, так что каждый клиент МОЖЕТ иметь свою собственную DLL, развернутую в BIN, которая позволит настраивать только этот клиент (для представлений, активов или даже контроллеров). Мы можем использовать единую кодовую базу и иметь много клиентов, большинство из которых не имеют настроек, а некоторые имеют незначительные или тяжелые настройки.

У каждого клиента есть уникальный URL для своего «портала», и чаще всего у него есть частные домены, поэтому http://app.mycompany.com или http://mycompanyapp.com, а некоторые даже размещены на нашем собственном сайте, http://hostingcompany.com/client/.

Создавая приложение, которое может определять, на каком клиенте оно основано на URL-адресе, мы смогли с легкостью обработать все эти случаи. При развертывании у нас есть единая база кода (развернутая ОДИН РАЗ в одной папке), и все сайты используют одно и то же развертывание кода.

Мы запустили веб-ферму, где у нас есть много веб-серверов .NET, и у нас есть настройка балансировки нагрузки, и у всех сайтов есть ping-страницы, с которыми наши балансировщики нагрузки взаимодействуют, чтобы определить их работоспособность.

Как я уже сказал, ваши потребности определят, какое для вас наилучшее решение.

0 голосов
/ 17 апреля 2013

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

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