mutlitenant asp.net mvc 2 - 域到区域路线

问题描述:

我开始一个新项目,简单来说,它将有一个基于asp.net mvc 2,一个业务层和一个数据访问层的UI层。简单的3层设计。mutlitenant asp.net mvc 2 - 域到区域路线

UI层虽然会为客户端定制,例如,菜单沿着顶部,或者向左或者可以是不同的静态页面等。 所有的核心功能在多个客户端中是相同的,但是一些客户端可能具有更多或更少的功能。

我想在单个asp.net mvc项目中使用区域来分隔客户端。所以当我添加客户端时,我会添加区域 - 这是一个好方法吗?如果我遵循这种方法,我可以共享控制器吗?但让控制器路由到该区域内的正确视图?

另外,如果我将我的网站部署到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

我发现这篇文章(http://dotnetslackers.com/articles/aspnet/storing-asp-net-mvc-controllers-views-in-separate-assemblies.aspx),它看起来帮助我与一个将单独的客户端视图放入另一个程序集的方式。这对我而言可能适用于每个客户端的自定义UI。 – jryan 2010-10-21 10:37:16

仅供参考 - 我最终决定不使用区域,并且使用自定义视图引擎简化了客户端配置组件,我将它们放在一起以交换每个客户端的视图(使用域名和/或用户登录时)。这些视图目前保存在客户端特定的文件夹中,我只将需要更改的客户端视图放到这些文件夹中,如果视图引擎在客户端特定的文件夹中找不到视图,它将恢复为默认视图,即非常正常的情况下,90%的客户端特定更改都是用CSS完成的。

+0

关于你如何实现这一目标的更多细节?一些代码也许? – 2012-03-21 00:00:41