我正在开始一个新项目,简单来说,它将具有基于asp.net mvc 2的UI层,业务层和数据访问层。简单的3层设计。
虽然UI层将为客户定制,例如菜单位于顶部,或左下方或可能是不同的静态页面等。 多个客户端的所有核心功能都是相同的,但有些客户可能会有更多或更少的功能。
我正在考虑在一个单独的asp.net mvc项目中使用Areas来分隔客户端。因此,当我添加客户端时,我将添加区域 - 这是一个好方法吗?如果我按照这种方法可以共享控制器吗?但让控制器路由到该区域内的正确视图?
此外,如果我将我的网站部署到mynewsite.com - 可以通过mynewsite.com/area1,mynewsite.com/area2等访问每个区域。但如果客户想要自己的域名,那么实现这一目标的最佳方法是什么?所以www.clientdomain.com - > mynewsite.com/area1和clientdomain.com/products/list与mynewsite.com/area1/products/list相同 - 我是否必须通过服务器上的HTTP Url路由处理此问题?
希望我已经解释了我的情况!非常感谢任何反馈。
答案 0 :(得分:0)
仅供参考 - 我最终决定不使用区域,我有简单的客户端配置组件和自定义视图引擎,我将它们放在一起以交换每个客户端的视图(使用域名和/或用户登录时) 。视图当前保存在客户端特定的文件夹中,我只将我需要更改的视图放入客户端到这些文件夹中,如果视图引擎无法在客户端特定文件夹中找到它将恢复到默认视图,这是几乎是正常情况,因为90%的客户特定更改都是通过CSS完成的。