如何正确链接已安装的web应用程序名称及其虚拟目录名称



使用ServerManager,我可以获得已安装web应用程序的虚拟目录列表。我还可以使用注册表项搜索来验证是否安装了特定的web应用程序。但是,我无法找到通常位于inetpub\wwwroot中的web应用程序物理路径。

相关注册表中的InstallLocation字段没有任何值。我怎样才能做到这一点?

您可以使用DirectoryEntry浏览IIS配置。以下是另一个问题的例子:

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);
}
}

siteId是与IIS中列出的每个站点相对应的数值。这种方法迫使你提供它,但如果你愿意,你也可以在服务器上找到所有的网站。如果你需要的话,只需在谷歌上搜索一下。但这应该会让你开始。

最新更新