【发布时间】:2011-02-03 01:58:35
【问题描述】:
有人知道如何在 IIS 7 中以编程方式获取站点列表和虚拟目录吗?
【问题讨论】:
-
这仍然是一个问题吗?如果没有将以下选项之一标记为答案。
有人知道如何在 IIS 7 中以编程方式获取站点列表和虚拟目录吗?
【问题讨论】:
查看这篇文章 - 似乎是 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();
}
【讨论】:
使用 Microsoft.Web.Administration 程序集的一个重要警告是代码必须在安装了 IIS7 的机器上运行。
当我在我的 Windows XP 机器上开发一个将 IIS7 站点加载到网页中的系统时,我发现了这个限制。 API 很棒,我只是希望我能使用它。
Control IIS 7 server from Windows 2003 server programmatically
【讨论】: