2012-05-05 127 views
1

首先,我读过有关这个问题想了很多帖子: Asp.net MVC RouteBase and IoCTenant-specific routes for dynamically loaded modules, 等等。MVC3动态路由子域

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

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

帮帮我!

谢谢!

+0

您可能想要结帐hipache。它确实很容易地满足你的要求。结帐这个答案: http://serverfault.com/a/624877/239954 –

回答

0

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

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

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

+0

感谢您的回应! 我明白你的意思,但我正在寻找更具体的东西,编码方面。 例如,我扩展了RouteBase类,特别是GetRouteData,其中我解析Url并在routeData.Values中添加子域。 然后,在一些控制器中,我查看数据库中租户的内容并找回它们。 但我不能让它工作,因为当url是tenant1.mydomain.com/Controller/Action它没有路由我指定的操作。 – gonzalomelov

+0

这里有什么线索? http://stackoverflow.com/questions/4540768/asp-net-mvc-routebase-and-ioc – Andiih

+0

我读过,并没有得到任何有价值的东西。 我正在尝试http://lukesampson.com/post/303245177/subdomains-for-a-single-application-with-asp-net-mvc。 谢谢Andiih! – gonzalomelov