MVC3动态子域路由

时间:2012-05-05 16:14:51

标签: asp.net-mvc-3 multi-tenant route-constraint

首先,我已经阅读了很多关于这个问题的帖子,如: Asp.net MVC RouteBase and IoCTenant-specific routes for dynamically loaded modules, 和许多其他人。

我想要的是:    - 动态创建诸如tenant1.mydomain.com,tenant2.mydomain.com等页面。    - 我的租户将拥有相同的功能,但只有不同的内容,风格,标题等。

我尝试过扩展RouteBase类,但已经读过这不是一个干净的解决方案。 然后我尝试创建一个自定义RouteConstraint,如上面的帖子推荐但未成功。

帮助我!

谢谢!

1 个答案:

答案 0 :(得分:0)

我通过做两件事来实现这一目标。 1)通过在创建时传递URL的工厂提供存储库来提供选择正确内容的功能。这里的问题是,有可能通过自己没有tennantid字段的实体的关系来获取错误的数据。

2)是一个基本的自定义视图引擎,它查找URL的主机部分并查找特定于客户端的模板(通过文件夹结构),如果发现模板被使用,则返回默认模板。

在这两者之间,我有一个系统,通过相同的定制CMS和产品管理工具提供(在我的情况下)多个网站。