如何在应用程序中支持多个客户?

时间:2014-05-21 23:18:01

标签: asp.net-mvc asp.net-mvc-4 azure database-design

我以前开发过针对特定实现的MVC应用程序,多个用户都使用相同的数据。我现在正在开发一个应用程序,我打算出售多个托管副本。例如,假设我开发了一个事件管理应用程序,公司可以在其中注册,添加事件,创建用户等。如何为不同的客户托管此应用程序的多个实例?我能看到的方法是:

1)对于每个新客户,使用Azure创建一个新的网站/数据库实例并上传该应用程序。不利的是托管成本很快就会增加。

2)托管同一个应用程序中的所有客户端并编辑我所做的每个数据查询,以添加一个WHERE子句来检查每个表上的公司ID。

3)在数据库中使用观看/同义词,这样用户只能看到他们自己的数据。

实现这一目标的最佳方法是什么?有没有更好的方法我没有想到? MVC是否已经内置了可以处理的内容?

1 个答案:

答案 0 :(得分:0)

我已经在MVC中为同一场景开发了一个应用程序。 我们使用 SMO(服务器管理对象)为我的应用程序创建新用户。

这样的实际场景: 1)具有不同数据库的多个用户的信号应用。 2)应用程序根据需要创建新客户端(使用SMO)创建数据库。 3)当用户在我们的应用程序中登录时,数据库连接字符串在运行时发生变化。

我认为这个信息对于具有多个数据库的开发人员信号应用来说已经足够了,

我希望这对你有用。

谢谢, Nikunj B. Balar