2009-09-09 5 views
5

Zastanawiam się, czy istnieje sposób na wyliczenie kolekcji pul aplikacji (nie aplikacji w danej puli - ale samych pul) na lokalnym serwerze IIS przy użyciu ASP.net 3.5 bez użycia WMI, a jeśli tak, to czy ktoś może podać link lub przykład, jak to zrobić?Wyliczanie pul aplikacji w IIS

(Zapomniałem dodać wersję IIS 6.0).

Odpowiedz

4

To powinno pomóc:

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

Powinienem też dodać to nie będzie działać w częściowego zaufania.

2

Innym sposobem, który może być pomocny.

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

Znajduje się w pakiecie nuget 'Microsoft.Web.Administration' – pilotcam