asp.net-mvc – 设计ASP.NET MVC 3站点以支持客户特定的视图自定
我正在开发一个大型的ASP.NET MVC网站,这是一种销售给客户的商业服务.我们主要向小型和大型机构销售,因此它不是缩小规模的.这些大客户会要求我们进行自定义,大多数情况下包括自定义布局以适应他们的网站.
我们当前的想法是,即使MVC使用非常简单的控制器(仅推荐其他代码)(如推荐的那样)来完成其自然结论,但这些视图将是一个难题,因为它们不适合这种可组合性,任何情况都不是我们一直在使用的Razor.很难对它们进行子类化并说“对于这个客户来说,做一些额外的事情”;特别是,对于相同的构造,很难为稍微不同的HTML提供服务. 我们无法弄清楚多租户和单租户的工作是否干净,我们不希望分叉代码库,即使一个或多个客户的定制是彻底的. (在可能的范围内,我们希望保持所有客户的数据库结构同构,我想这是我们为多租户做的方式,但每个租户都必须是他们自己的IIS网站,因为规模和隔离.)即使我们想出了一种覆盖一层自定义视图的方法,也会在视图中出现轻微的逻辑不匹配. 这样做的现有技术是什么?什么是战争故事? (这可能是主观的,但它主要是客观的,如果有一种模式或方法完全将其降低到其本质,当然这是正确的答案.我认为这是一个有趣的问题.) 我很乐意提供更多细节. 解决方法
我们最近开发了一个网站来支持我们的5个Regents机构.由于我们拥有一组不太可能增长的固定客户,因此我们做出了一些你可能做不到的选择.例如,我们为每个客户提供单独的数据库实例.显然,它不能很好地扩展,但它确实简化了模型,因此对我们来说它是有效的.
我使用的策略是: >专注于功能和配置,而不是客户.我们为每个机构提供一系列核心功能.这些功能中只有少数可以自定义.对于每个机构,我们维护一个Web.Config转换,其中包含对可自定义功能的选择.发布设置用于控制在发布该机构的应用时使用的转换.视图/控制器使用配置数据来实现为该机构指定的功能的变体.它不知道它是哪个机构,只是配置说“在渲染小部件C时执行A而不是B”. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SSRS和asp.net – 在报表查看器中将参数从.net传递到ssrs
- asp.net – IIS 7中的会话超时
- asp.net-mvc – asp.net MVC 3中视图模型的范围
- asp.net-mvc – 用于子操作的MVC OutputCache:它存储在哪里
- ASP.NET MVC 4和会话安全漏洞
- asp.net core 使用 signalR(一)
- asp.net-mvc-4 – 使用信号器一对一,包括离线模式
- asp.net – 重定向到一个页面,其endResponse为true VS Comp
- asp.net-mvc-3 – 检查ViewBag是否具有属性,以有条件地注入
- 防止为ASP.NET服务器控件打包标签
- asp.net-mvc – 如何在Mvc 5中路由POST和GET
- 用ASP.net检测iPad
- asp.net-mvc-4 – TempData不适用于MVC4中的第二
- 在ASP.NET中使用Web API而不是Web方法有什么优势
- asp.net-mvc-4 – MVC 4 – EF模型w / Spaces
- asp.net – LINQ to SQL执行时间比SSMS SQL长50倍
- ASP.NET Web API:OAuth服务提供商
- 部署DotNetNuke并将ASP.NET应用程序分开 – 可能
- asp.net-mvc – 如何在asp.net mvc中跨应用程序进
- asp.net – 如何在Repeater中查找控件