2009-10-09 18 views
1

我正在研究一個項目,該項目具有最終的含糊不清的要求:「對其他客戶而言,網站應該是'可換膚的'。」如何創建結構良好的ASP.NET MVC多站點代碼庫?

衆所周知,幾乎所有的UI,邏輯和模型都需要改變。

我已經解釋過需要將另一個客戶端添加到該網站,並且它不會像創建新外觀那麼簡單。我還解釋說,爲未知和未定義設計是不可能的。

這就是說,我想提出一個設計,可以適應重用性而不會過於複雜。

我希望能夠共享盡可能多的控制器和視圖。

我曾想過嘗試根據用戶用來輸入網站的URL加載一組不同的路由(這甚至有可能嗎?)。我的想法是,我可以爲每個子站點定義一組基本控制器並從中繼承它們。

有沒有更好的方法來做我想做的事情?

這可以用IoC容器來完成嗎?這種方法有益嗎?

其他人如何處理需要共享單個MVC代碼庫的情況,並且主要是在不同網站之間重複使用?

感謝您的任何建議或意見!

回答

3

最簡單的開始是基於查詢變量或Web.config值在Master頁面中加載不同的CSS文件,如果這些站點位於不同的服務器上。這樣做的另一種方法是創建自己的CSSResult,它從ActionResult繼承,它返回基於請求域的css文件。如果您想更多地控制顯示哪個視圖,您可以創建一個繼承IViewEngine接口的類,並根據請求的域顯示不同的視圖。

相關問題