我正在尝试首先列出所有IIS网站以及每个网站中的文件夹/虚拟Web目录(在树状视图中)。然后,我想允许用户选择上述任何节点并在那里创建一个新的虚拟Web目录。如果我知道我打算使用的路径但是我无法获得网站中的文件夹/虚拟网页目录列表(我可以获得网站列表),我可以创建一个虚拟网络目录。
答案 0 :(得分:3)
使用System.DirectoryServices从IIS获取网站。您可以在以下网址找到类似的讨论
http://channel9.msdn.com/forums/TechOff/78084-Extracting-list-of-web-sites-from-IIS-manager/
答案 1 :(得分:0)
好笑,我只是需要为IIS 7.5做这个,我用我想要的主要属性创建了一个类IisSiteApplication
using Microsoft.Web.Administration;
public class IisSiteApplicationList : List<IisSiteApplication>
{
public IisSiteApplicationList()
{
ServerManager iisManager = new ServerManager();
SiteCollection sites = iisManager.Sites;
foreach (Site iisSite in sites)
{
foreach (Application iisApp in iisSite.Applications)
{
IisSiteApplication app = new IisSiteApplication
{
SiteId = iisSite.Id,
SiteName = iisSite.Name,
AppName = iisApp.ToString(),
ApplicationPoolName = iisApp.ApplicationPoolName,
Directories =
String.Join(";", iisApp.VirtualDirectories.Select(a => a.PhysicalPath).ToArray())
};
Add(app);
}
}
}
}