2012-05-05 126 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