5

我有使用多个客户端的 Web 应用程序。我应该为所有客户创建一份应用程序副本,或者每个客户都应该有自己的副本。

我正在使用 Asp.net MVC 和 SQLServer。你的建议。

4

2 回答 2

6

为每个客户创建单独的项目维护起来很麻烦,而为所有客户创建一个项目可能很难定制。这是一条很好的路线,您的需求将决定您如何构建解决方案。

我最近的一个项目是我们做 SAS(软件即服务),我们能够使用插件体系结构构建我们的 MVC 应用程序,这样每个客户端都可以将自己的 DLL 部署到 BIN 中,从而可以为该客户端进行自定义(到视图、资产甚至​​控制器)。我们能够利用单个代码库并拥有许多客户端,其中大多数没有自定义,而有些则进行了少量到大量的自定义。

每个客户的“门户”都有一个唯一的 URL,通常他们有私有域,所以http://app.mycompany.comhttp://mycompanyapp.com,有些甚至托管在我们自己的网站上,http:/ /hostingcompany.com/client/

通过构建一个可以根据 URL 确定它是什么客户端的应用程序,我们能够轻松处理所有这些情况。当我们部署时,我们有一个代码库(仅部署一次到一个文件夹),并且所有站点都使用相同的代码部署。

我们运行一个网络场,其中有许多 .NET Web 服务器并设置了负载平衡,并且所有站点都有 ping 页面,我们的负载平衡器与之交互以确定它们的健康状况。

就像我说的,您的需求将决定最适合您的解决方案。

于 2012-02-03T04:39:53.967 回答
0

尼克,数据库怎么样,我们应该为每个客户端使用一个数据库,还是应该为每个客户端使用单独的数据库,在我的场景中,我们的应用程序更加以数据库为中心,因此根据业务角色为每个客户端进行了大量更改。

于 2013-04-17T15:06:36.553 回答