在我的IIS应用程序中,我想要查找它在ASP.NET中创建时给出的名称,这对于服务器是唯一的。我对网站的域名不感兴趣,但对在IIS中为网站指定的实际名称感兴趣。
我需要能够为IIS6和7可靠地做到这一点。
需要说明的是,我指的是IIS中的给定名称,不是域名,也不是虚拟目录路径。
发布于 2009-11-01 02:03:48
System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName();
发布于 2013-06-27 01:55:55
发布于 2009-11-01 00:32:39
这是一个检索站点Id的related post。
下面是一些可能对你有用的代码:
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");
}
}
这是到original post的链接。
我不确定它是否能在IIS7上工作,但如果你安装了IIS7的IIS6兼容性组件,它应该可以工作。
https://stackoverflow.com/questions/1654797
复制相似问题