如何从ASP.NET网站获取IIS站点名称?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (56)

在我的ASP.NET Web应用程序中,我想查找在IIS中创建的名称,这是服务器特有的。我对网站的域名不感兴趣,但是在IIS中给这个网站的实际名称。

我需要能够可靠地为IIS6和7做到这一点。

为了清楚我在谈论IIS中的给定名称,而不是域名而不是虚拟目录路径。

来自IIS的价值我想从C#中读取http://img252.imageshack.us/img252/6621/capturedz.png

提问于
用户回答回答于
System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName();
用户回答回答于

这里有一个相关员额检索站点ID。

下面是一些可能适用于你的代码:

using System.DirectoryServices;
using System;

public class IISAdmin
{
   public static void GetWebsiteID(string websiteName)
   {
      DirectoryEntry w3svc = new DirectoryEntry("IIS://localhost/w3svc");

     foreach(DirectoryEntry de in w3svc.Children)
     {
        if(de.SchemaClassName == "IIsWebServer" && de.Properties["ServerComment"][0].ToString() == websiteName)
        {
           Console.Write(de.Name);
        }

     }

  }
  public static void Main()
  {
     GetWebsiteID("Default Web Site");
  }

}

下面是指向原始员额...

我不确定它是否能在IIS 7上工作,但是如果安装了IIS 7的IIS 6兼容性组件,它应该可以工作。

扫码关注云+社区