我們目前正在開發一個asp.net MVC3(CSS)的多租戶網站。我們已經創建了一個租戶配置部分在我們的web.config W /結構如下:ASP.NET MVC多租戶應用問題
<tenants>
<tenant name="client1" baseUrl="client1.domain.com">
<settings>
<setting name="siteName" value="client 1 site">
</settings>
</tenant>
<tenant name="client2" baseUrl="client2.domain.com">
<settings>
<setting name="siteName" value="client 2 site">
</settings>
</tenant>
</tenants>
而在我們的代碼,我們都或多或少從我們ITenant界面創建的具體類租戶建設者。
一切正常渲染每個租戶我們的網站,一旦我們能夠解決這個問題。然而,我不覺得這樣做是兩件事。 另外請注意,雖然我們正在進行依賴注入,但我們並未使用第三方IOC容器(現在所有DI都是自定義的)。
控制器動作覆蓋 - 目前我們已經在我們的租戶一些方法作爲控制器動作覆蓋(返回一個ActionResult)被稱爲實際控制人的行動。例如 - 如果我們需要租戶特定的Home/Index邏輯,我們可以這樣做:return currentTenant.HomeIndex()。 而不是這樣做,我可以使用ControllerFactory或ServiceLocator?如果有的話可以解釋一下這個最好的方法嗎?
訪問 - 現在我們的兩位租戶等同於以下內容:client1 =免費用戶,client2 =付費用戶。 儘管我們使用MembershipProvider來授權用戶,但我們已經創建了一個ActionFilter來檢查用戶類型/級別並繼續或重定向到相應的站點。有更聰明的方法來做這些檢查嗎?
在此先感謝。