【发布时间】:2012-07-16 22:44:21
【问题描述】:
我正在使用 MVC4 在 .NET 中创建业务应用程序。该应用程序将被多个企业客户使用,每个客户都拥有自己的品牌元素(包括样式表和徽标图像)。 UI 调用后端平台的 Web 服务,以填充应用程序的各个区域;调用这些 Web 服务时必须提供客户特定的参数。
我的目标是部署应用程序的单个实例,同时使应用程序根据 URL 本身的一部分动态加载适当的品牌方案和 Web 服务参数。该应用程序将是一个面向公众的消费者应用程序(由我的组织代表公司客户托管),因此 URL 必须易于记忆(因此不依赖查询字符串参数进行访问),例如 https://mysite.com/companyname。
其目的是为产品提供单一的代码库和功能集(使产品比为每个企业客户进行多个不同的部署更容易支持),同时支持有限程度的品牌推广。我可以进行少量手动操作设置(例如为每个客户创建一个新的 app.config、web.config 或虚拟目录)。
谁能推荐一个建议的方法或最佳实践来实现这种类型的应用程序?请注意,如果必须解析 URL 结构,我需要确保可以在开发、QA 和暂存环境中正确复制该结构。
我当前的方法需要将应用程序不同地部署到不同的客户特定环境,自定义品牌和 Web 服务参数在 web.config 文件中被称为“appsettings”键,每个客户都不同。这对于少量部署来说是可以的,但随着功能升级/错误修复推送成为数十或数百个客户站点的必要性,这将变得笨拙。谢谢!
【问题讨论】:
-
只是想知道您是否考虑过为访问单个网站的数十家(或数百家)公司提供扩展选项?
-
您好 oleksii - 是的,该站点托管在负载平衡平台上,该平台每天处理大约 120 万个基于 Web 服务的请求,每季度处理大约 20 亿个批处理事务(在数据库上)。使用此应用程序的单个企业客户可能会在繁忙的一天看到 1000 到 5000 个请求,而停机天数约为 10 个请求。如果我可以在一个负载平衡的 Web/应用服务器平台上进行 25、50 或 100 个部署,然后再进行代码的第二次部署,我会非常高兴(我主要是尝试解决运营部署/版本开销)。谢谢!
标签: c# .net asp.net-mvc