2012-02-29 99 views
1

我正在寻找有关MVC3应用程序和多租户的以下问题的输入。MVC3多租户应用程序

1)您是否使用具有多个数据库的单个应用程序实例 - 每个客户端一个?
2)或者您是否使用单个应用程序+单个数据库实例 - 使用某些数据(比如供应商ID)区分供应商的数据?

如果是上面的情况 - 一个应用程序+多数据库 - 你如何配置你的web.config?如何在用户登录时将应用程序指向正确的数据库?

如果是上述情况下,两个 - 多么容易被你发现它做以下 - 自定义每个客户端 - 备份和恢复单个客户

有没有人刚刚走了一个单租户架构你的云应用程序?在添加新客户端的难易程度,数据库实例数量,价格等方面它是如何比较的?

对不起,很多的问题,但我真的想在我做出决定之前研究的东西。期待所有的投入。 谢谢

回答

3

不幸的是,没有“开源”项目或者将多租户设置为MVC 3中“独立”的好例子“我已经找到了(有人请纠正我,如果我错了)。

我通过Google发现的大多数例子都集中在一个方面,而且更具理论性。还有一些更老(专注于MVC 2)。我一直在寻找一个好的可靠项目,我可以用它来做我所需要的,只不过是骨子里的多租户。

现在,如果您需要一个MVC 3示例(假设您可以打开某些东西并查看代码来理解),那么我会推荐Orchard CMS的Multi-Tenant模块。如果你能够看看代码,它应该给你提供如何完成你想要的东西的固定例子(假设你正在设计一些东西)。

在Orchard中,每个“租户”都有自己的SQL Compact数据库,但您可以将其配置为运行SQL。所以这是一个包含多个数据库的应用程序所有配置都通过管理界面完成(所以不要搞乱web.config)。它处理“指向”正确的数据库。

这是一个多步骤的过程设置(在IIS中管理界面和绑定/ http重定向的组合),但是一旦你掌握了它,就很容易做到。