6

我想知道是否有一种方法可以在不使用 WMI 的情况下使用 ASP.net 3.5 在本地 IIS 服务器上枚举应用程序池的集合(不是给定池中的应用程序 - 而是池本身),如果可以的话有人可以提供如何完成此操作的链接或示例?

(我忘了添加IIS版本是6.0)。

4

2 回答 2

8

另一种可能有用的方法。

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);
                }
        }
    }
}
于 2017-02-06T18:14:35.410 回答
5

这应该有助于:

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

我还应该补充一点,这在部分信任下是行不通的。

于 2009-09-09T15:58:31.027 回答