我们希望将所有公司网站重建并升级到ASP.NET MVC 3,并在所有网站上使用通用模板(大部分);我们已经在MVC 3中有一个站点,它将成为其他站点的供应站点.
起初我只是复制/粘贴项目,用与每个站点相关的内容替换所有内容并完成它,但这将使更新模板/样式表/帮助器在未来更加困难 – 我们只有少数几个网站,所以它不是一个大问题.
想法1
我想我想做的是拥有一个包含所有网站的项目,可能会被区域分开以保持它们分离,并使用路由将请求发送到各个域到正确的位置并构建指向的链接正确的域名.
这符合我们计划将所有网站链接在一起的方式 – 基本上是列出各个公司的所有网站共有的菜单,这些链接到包含与该特定公司相关的项目的子菜单的公司域.
这是变得棘手的地方,因为我需要在域级别路由 – 所以不要路由到当前域的company2控制器(例如http://www.groupcompany.ex/company2)我想路由请求company2的自己的域名 – http://www.company2.ex/ {controller} / {action} / {id}.
想法2
或者,我可以在一个解决方案中为每个站点创建项目,并有一个共同项目,托管任何帮助程序,CSS和JavaScript等.
有关我应该采取哪种方式,以及我的建议是否完全疯狂的想法? (很可能就是这种情况).
解决方法
我也没有解决这个问题.但是,有很多博客条目涉及到这一点.例子包括:
http://weblogs.asp.net/zowens/archive/2010/05/26/multi-tenant-asp-net-mvc-introduction.aspx
http://codeofrob.com/archive/2010/02/01/multi-tenancy-in-asp.net-mvc-why-do-we-want-to.aspx
这是我认为需要在某个时候构建到框架中的东西.希望发生这种情况,或者至少有人想出一个优雅的解决方案.