如何使用Microsoft.Web.Administration.dll获取该页面正在运行的站点信息?

我的服务器上有六个站点,我想从IIS7获取一些信息显示在每个页面的页脚中(只要你当然是管理员)。 我正在浏览ServerObject并找到了Sites,但我找不到任何明显的“this site”。 我该怎么做才能获得IIS7中运行该页面的确切站点的信息?

对于快速“黑客”风格的方法,我在default.aspx页面代码后面写了这个:

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

TIA

如果您要获得有关当前网站的一些简单信息,可以使用一些很棒的方法,例如HostingEnvironment.ApplicationHost.GetSiteName()HostingEnvironment.ApplicationHost.GetSiteID()等。 否则,以下代码段可能会有所帮助。

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