2009-09-09 5 views
5

Je me demande s'il existe un moyen d'énumérer la collection de pools d'applications (pas les applications dans un pool donné - mais les pools eux-mêmes) sur le serveur IIS local en utilisant ASP.net 3.5 sans utilisation de WMI, et si oui, quelqu'un peut-il fournir un lien ou un exemple sur la façon dont cela est fait?Énumération des pools d'applications dans IIS

(J'ai oublié d'ajouter la version IIS est 6.0).

Répondre

4

Cela devrait aider:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.DirectoryServices; 

namespace AppPoolEnum 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      DirectoryEntries appPools = 
       new DirectoryEntry("IIS://localhost/W3SVC/AppPools").Children; 

      foreach (DirectoryEntry appPool in appPools) 
      { 
       Console.WriteLine(appPool.Name); 
      } 
     } 
    } 
} 

Je dois également ajouter cela ne fonctionnera pas en confiance partielle.

2

Une autre façon qui pourrait être utile.

using System.IO; 
using Microsoft.Web.Administration; 

namespace AppPoolEnum 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
       foreach (var appPool in new ServerManager().ApplicationPools) 
       { 
        Console.WriteLine(appPool.Name); 
       } 
     } 
    } 
} 
+0

Ceci se trouve dans le paquet nuget 'Microsoft.Web.Administration' – pilotcam

Questions connexes