有人知道如何以编程方式获取IIS 7中的网站列表和虚拟目录吗?
答案 0 :(得分:68)
查看此帖子 - 似乎是Microsoft.Web.Administration
命名空间中的品牌打击新管理API:
http://blogs.msdn.com/carlosag/archive/2006/04/17/MicrosoftWebAdministration.aspx
以下是该博客文章的快速图形概述:
这是Cool new IIS7 Features and APIs
上的“The Gu”帖子这样的东西会在IIS7服务器中找到所有站点,它们的应用程序和它们的虚拟目录:
static void Main(string[] args)
{
ServerManager mgr = new ServerManager();
foreach(Site s in mgr.Sites)
{
Console.WriteLine("Site {0}", s.Name);
foreach(Application app in s.Applications)
{
Console.WriteLine("\tApplication: {0}", app.Path);
foreach(VirtualDirectory virtDir in app.VirtualDirectories)
{
Console.WriteLine("\t\tVirtual Dir: {0}", virtDir.Path);
}
}
}
Console.ReadLine();
}
答案 1 :(得分:3)
使用Microsoft.Web.Administration程序集的一个重要警告是代码必须在安装了IIS7的计算机上运行。
当我开发一个系统将IIS7站点加载到我的Windows XP机器上的网页时,我发现了这个限制。 API很棒,我只是希望我能用它。
Control IIS 7 server from Windows 2003 server programmatically