asp.net - 多个客户应该有一份项目副本还是每个客户都有自己的副本?

标签 asp.net architecture web-application-design

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

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

最佳答案

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

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

每个客户的“门户”都有一个唯一的 URL,而且大多数情况下他们都有私有(private)域,所以 http://app.mycompany.comhttp://mycompanyapp.com有些甚至托管在我们自己的网站上,http://hostingcompany.com/client/ .

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

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

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

关于asp.net - 多个客户应该有一份项目副本还是每个客户都有自己的副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9123717/

相关文章:

c# - 非 JavaScript 应用程序中的 JSON

java - 用于开发中型 Java 应用程序的资源

php - 难以在 Android 和 iPhone 上部署 Django 应用程序。计划切换到 PHP 而不是 Django

javascript - 正确管理大型网站/代码串联的 javascript

C# 设计模式 - 为多数据源设计的最佳方式

ASP.NET 应用程序重新启动过多

c# - 作为实例属性的静态类

c# - 如何找到字符串中值的倒数第二个索引?

c# - 在标签上加载总和

php - 何时使用 index.php 而不是 index.html