2009-09-09 7 views
5

Ich frage mich, ob es eine Möglichkeit gibt, die Sammlung von Anwendungspools (nicht die Anwendungen in einem bestimmten Pool - aber die Pools selbst) auf dem lokalen IIS-Server mit ASP.net 3.5 ohne die Verwendung aufzuzählen von WMI, und wenn ja, kann jemand eine Verbindung oder ein Beispiel zur Verfügung stellen, wie man das tut?Auflisten von Anwendungspools in IIS

(Ich habe vergessen, die IIS-Version ist 6.0).

Antwort

4

sollten Diese helfen:

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

Ich sollte auch nicht in Teil Vertrauen hinzufügen funktioniert.

2

Eine andere Möglichkeit, die hilfreich sein könnte.

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

Dies ist in der nugget-Paket 'Microsoft.Web.Administration' gefunden – pilotcam