2011-08-06 44 views
1

我有一個個人項目,邏輯層和數據庫是平等的,但我有兩個域,唯一改變的就是URL ,和母版頁。ASP.NET - 誰可以使用一個Web應用程序並「託管」很多站點

我需要的是一個簡單的系統來識別URL並顯示正確的站點master,因爲我使用的是與ASP.NET表,存儲過程等配置相同的數據庫。

我見過的最類似的東西,這是DNN門戶系統,但我不需要所有的功能,如單獨的登錄系統。

在此先感謝。

回答

0

我想沿着這些線路的東西會得到你所需要的:

在IIS中,點兩個URL到同一個虛擬目錄,所以它們都從同一個地方服務 -

添加PreInit事件讀取URL然後加載一個MasterPage相應地:

void Page_PreInit(Object sender, EventArgs e) 
{ 
    if(Request.Url.AbsoluteUri.Contains("mysite.com")) 
    { 
    this.MasterPageFile = "master page file goes here"; 
    } 
} 

希望讓你在正確的方向!

+0

另一個簡單而優雅的解決方案! :) 謝謝,這也解決了我的問題,因爲我有一個每頁的BasePage! :) – joaoasrosa

0

您可以使主頁面動態。主機名可以在以下位置找到:

HttpContext.Current.Request.ServerVariables["SERVER_NAME"] 

您可以在母版頁中使用它來更改其輸出。

+0

簡單而優雅! :) 就是這樣一個搜索! 您推薦在全局,寬主頁面或預先初始頁面上使用此行程? 謝謝! – joaoasrosa

0

我會更進一步,將不同的東西抽象出來,然後使用依賴注入來解決你需要的東西。

+0

你能解釋一下你的觀點嗎? – joaoasrosa

+0

我還沒有嘗試過,但它應該可以工作。如果你開始使用依賴注入器,比如Ninject,那就是向前邁進了一步。之後,如果您託管在同一個Web服務器上,則可以爲每個請求註冊特定於服務器的組件。使用提取不同部分的接口,然後爲每個公司實施一個接口。這有點難以解釋,但如果你閱讀Ninject和其他依賴注入器框架,你可能會自己想出它。 –

+0

感謝您的解釋! :)我在爲它而煩惱! – joaoasrosa

相關問題