2010-06-11 38 views
3

我在我的服務器上有六個站點,我想從IIS7獲取一些信息以顯示在每個頁面的頁腳中(只要您是管理員即可)。我正在瀏覽ServerObject並找到網站,但沒有發現任何明顯的「本網站」。 我應該怎麼做才能獲取IIS7中運行頁面的確切站點的信息?如何使用Microsoft.Web.Administration.dll獲取頁面正在運行的網站信息?

對於一個快速「黑客」式的方法我寫了這背後我Default.aspx頁面代碼:

ServerManager serverMgr = new ServerManager(); 
foreach (Site site in serverMgr.Sites) 
{ 
    string s = info.Text + site.Name + @"<br/>"; 
    info.Text = s; 
    foreach (Binding binding in site.Bindings) 
    { 
     string t = info.Text + binding.BindingInformation + " | "; 
     string p = t + binding.Protocol + @"<br/>"; 
     info.Text = p; 
    } 
} 

TIA

回答

3

如果你是後獲取有關當前一些簡單的信息網站,有一些很好的方法,如HostingEnvironment.ApplicationHost.GetSiteName()HostingEnvironment.ApplicationHost.GetSiteID()等。否則,下面的代碼片段可能會有所幫助。

using (ServerManager sm = new ServerManager()) 
{ 
    foreach (Binding b in sm.Sites[HostingEnvironment.ApplicationHost.GetSiteName()].Bindings) 
    { 
     // ... 
    } 
}