我使用MVC4在.NET中创建业务应用程序。该应用程序将被多个公司客户使用,每个客户都拥有自己的品牌元素(包括样式表和徽标图像)。 UI为后端平台调用Web服务以填充应用程序的各个区域;调用这些Web服务时必须提供客户特定的参数。NET - 动态加载基于URL的应用程序配置
我的目标是部署应用程序的单个实例,同时使应用程序根据URL本身的一部分动态加载适当的品牌方案和Web服务参数。该应用程序将是一个面向公众的消费者应用程序(由我的组织代表公司客户托管),因此该URL必须易于记忆(因此不会依赖查询字符串参数进行访问),例如https://mysite.com/companyname。
意图是提供具有单一代码库和功能集的产品(使产品更容易支持,而不是为每个公司客户提供多种不同的部署),同时支持有限度的品牌。我可以使用一小部分手动操作设置(例如为每个客户创建一个新的app.config,web.config或虚拟目录)。
任何人都可以推荐一种建议的方法或最佳实践来实现这种类型的应用程序?请注意,如果必须解析URL结构,则需要确保在开发环境,QA环境和登台环境中可以正确复制结构。
我目前的方法需要将应用程序分别部署到不同的客户特定环境,并且web.config文件中引用了自定义品牌和Web服务参数作为“appsettings”键,这对每个客户都是不同的。对于少量部署来说这是可以的,但是会因为功能升级/错误修复推动成千上万个客户站点的需要而变得难以实施。谢谢!
想知道您是否考虑过数十家(或数百家)公司访问单个网站的缩放选项? – oleksii 2012-07-16 13:34:59
您好Oleksii - 是的,该网站托管在一个负载平衡的平台上,每天处理大约120万个基于Web服务的请求,每个季度处理大约20亿次批量事务(在数据库上)。使用此应用程序的单个公司客户在繁忙的一天可能会看到1000到5000个请求,而下降的天数大概是10个请求。如果我可以在单个负载平衡的Web /应用服务器平台上部署25,50或100个部署之前,需要进行第二次部署代码,我会非常高兴(我主要试图解决操作部署/版本开销)。谢谢! – 2012-07-16 13:43:38