2009-03-23 6 views
0

Je tente d'abord la liste de tous les sites Web IIS et les dossiers/répertoires Web virtuel dans chacun (dans une arborescence). Ensuite, après cela, je voudrais permettre à l'utilisateur de sélectionner l'un des nœuds ci-dessus et de créer un nouveau répertoire Web virtuel. Je peux créer un répertoire web virtuel si je connais le chemin que je prévois d'utiliser mais je ne peux pas obtenir une liste des dossiers/répertoires web virtuels dans un site Web (je peux obtenir la liste de site Web). Utilisez System.DirectoryServices pour obtenir les sites Web à partir de IIS.Comment puis-je lister et créer tous les sites Web IIS, les dossiers dans les sites Web et les répertoires Web virtuels en C#

Répondre

0

drôle, je viens d'avoir un besoin de faire cela pour IIS 7.5, je créé une IisSiteApplication de classe avec les principales propriétés que je voulais

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