public List { List CustomTreeNode tnResult = new CustomTreeNode(); try { DirectoryEntry w3svc = new DirectoryEntry("IIS://" + serverName + "/w3svc"); foreach (DirectoryEntry entry in w3svc.Children) { if (entry.SchemaClassName == "IIsWebServer") { CustomTreeNode Site = new CustomTreeNode(entry.Properties["ServerComment"].Value.ToString()); this.ServerLoadStart(entry.Properties["ServerComment"].Value.ToString()); |
Site.ImageIndex = 1;
Site.SelectedImageIndex = 1;
Site = GetVirtualDirectories(entry, Site);
Site.ImageIndex = 0;
Site.SelectedImageIndex = 0;
Nodes.Add(Site);
}
}
}
catch (Exception ex)
{
string msg = ex.Message;
}
return Nodes;
}
private CustomTreeNode GetVirtualDirectories(DirectoryEntry site, CustomTreeNode Parent)
{
string VirDirSchemaName = "IIsWebVirtualDir";
DirectoryEntry folderRoot = site.Children.Find("Root", VirDirSchemaName);
foreach (DirectoryEntry deChild in folderRoot.Children)
{
CustomTreeNode tnFolder = new CustomTreeNode(deChild.Name);
this.VirtualDirectoryStart(deChild.Name);
tnFolder.ImageIndex = 0;
tnFolder.SelectedImageIndex = 0;
tnFolder.CurrentEntry = deChild;
tnFolder.ImageIndex = 1;
tnFolder.SelectedImageIndex = 1;
Parent.Nodes.Add(tnFolder);
}
return Parent;
}
Here is the result I get after few more hours of work:
