MVC3 мультитенантные приложения - PullRequest
1 голос
/ 29 февраля 2012

Я ищу ваши ответы на следующие вопросы, касающиеся приложения MVC3 и мультитенантности.

1) Используете ли вы один экземпляр приложения с несколькими базами данных - по одной на клиента?
2) Или вы используете одно приложение + один экземпляр базы данных - с некоторыми данными (скажем, идентификатором поставщика), чтобы различать данные поставщика?

Если это один случай выше - одно приложение + несколько баз данных - как вы настраиваете свой web.config? Как вы указываете ваше приложение на правильную базу данных, когда пользователь входит в систему?

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

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

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

1 Ответ

3 голосов
/ 09 марта 2012

К сожалению, в MVC 3 нет проекта "с открытым исходным кодом" или хорошего "примера" для настройки мультитенантности как чего-то "отдельного" (кто-то, пожалуйста, исправьте меня, если я ошибаюсь).

Большинство примеров, которые я нашел через Google, фокусируются на одном аспекте и являются более теоретическими. Третьи старше (сосредоточены на MVC 2). Я искал все возможное, чтобы найти хороший солидный проект, который мог бы использовать для выполнения того, что мне нужно, это просто мультитенантность.

Теперь, если вам нужен пример MVC 3 (при условии, что вы можете что-то открыть и просмотреть код, чтобы понять), то я бы порекомендовал модуль Multi-Tenant Orchard CMS. Если вы можете посмотреть на код, он должен дать вам убедительные примеры того, как выполнить то, что вы хотите (при условии, что вы что-то разрабатываете).

В Orchard каждый «арендатор» имеет свою собственную базу данных SQL Compact, но вы можете настроить ее для запуска SQL. Так что это одно приложение с несколькими базами данных. Все настройки выполняются через интерфейс администратора (поэтому не нужно возиться с web.config). И он обрабатывает «указание» на нужную базу данных.

Это многоэтапная настройка процесса (комбинация интерфейса администратора и перенаправлений bindings / http в IIS), но ее легко выполнить, как только вы ее освоите.

...