1

我在 Windows XP 上。我们有 Windows 2008 服务器。需要运行 IIS Express,直到我们为真正的 IIS 7.X 获得具有更新版本的本地操作系统的工作站或虚拟机。

在 IIS Express 下运行 c# 代码时,可以使用 DirectoryEntry 列出我的站点和虚拟目录吗?我有在 IIS Express 下设置虚拟目录的示例,所以我想我已经介绍过了。现在我想列出它们以确保它们存在。

任何人都知道如何在 C# 中做到这一点?只是我一直在尝试的一小部分导致 com 异常......

DirectoryEntry iisServer = new DirectoryEntry("IIS://localhost/W3SVC/1");
DirectoryEntry folderRoot = iisServer.Children.Find("Root", "/");
var children = folderRoot.Children;
4

1 回答 1

1

你可以试试这样的

void ListVirtualDirectories(string serverName, int siteId)
{            
       DirectoryEntry iisServer = new DirectoryEntry("IIS://" + serverName + "/W3SVC/" + siteId + "/ROOT");

       foreach (DirectoryEntry webDir in iisServer.Children)
       {
           if (webDir.SchemaClassName.Equals("IIsWebVirtualDir"))
               Console.WriteLine("Found virtual directory {0}", webDir.Name);
       }
}
于 2012-12-04T05:08:38.977 回答