2012-02-03 93 views

回答

6

创建每个客户端的独立的项目将难以维护,同时对所有客户机的项目可能难以定义。这是一条很好的路线,您的需求将决定您如何构建解决方案。

我最近做SAS(软件即服务)项目时,我们能够使用插件体系结构构建我们的MVC应用程序,以便每个客户端都可以将自己的DLL部署到BIN中,以启用自定义只是该客户端(对视图,资产甚至控制器)。我们能够利用单一代码库并拥有许多客户端,大多数客户端没有自定义设置,有些客户端可以从轻到重自定义设置。

每个客户都有他们的“门户”和最经常,他们有私人空间,所以http://app.mycompany.comhttp://mycompanyapp.com唯一的URL有的甚至是在我们自己的网站,http://hostingcompany.com/client/主办。

通过建立能够确定哪些客户端是基于我们能够处理所有这些情况下轻松的URL的应用程序。当我们部署时,我们只有一个代码库(一次只能部署到一个文件夹),所有的站点都使用相同的代码部署。

我们运行一个Web农场里,我们有很多的.NET Web服务器和具有负载平衡设置和网站都有我们的负载均衡器进行交互,以确定他们的健康平安的网页。

就像我说的,您的需求将决定你最好的解决办法是什么。

0

尼克,有关数据库我们又该用一个数据库,每个客户端还是应该有针对每个客户单独的数据库在我的情况下我们的应用程序是多个数据库为中心的所以有很多为每一个客户做了按有业务角色的变化。

+1

对不起,我没有看到你的问题,因为它不是我的帖子的回复。只要您的数据库结构以支持共享数据库的方式构建(使用CompanyID来分割数据或某物),它就可以以任何一种方式进行。使用正确的结构,您可以轻松地将各个客户端自行安装。在我们的例子中,我们有一个MASTER数据库,它存储了一些主配置,如客户端到数据库的映射,应用程序所回答的域列表等等。在任何时候,我们都可以将客户端移动到共享位置(从共享到专用或专用共享)。 – 2013-06-21 22:51:01

相关问题