从ASP.app读取IIS设置

时间:2011-06-06 16:45:42

标签: iis web-config

我们希望构建一个管理员清单页面,该页面允许我们的网络管理员快速查看IIS和Web配置中的所有设置,以轻松解决问题。网络配置相当容易,但我不知道如何从IIS获取东西。 (应用程序池名称和类型,机器密钥,匿名身份验证等)我确信它可以完成,我只是不知道如何。

谢谢,

朗达

1 个答案:

答案 0 :(得分:1)

您正在寻找的信息在IIS .Net API中公开。您可以在\ windows \ system32 \ inetsrv中找到它们(它们是Microsoft.Web.Administration.dll,也许是Microsoft.Web.Management.dll)。

获取每个站点的ID和应用程序池名称的示例代码:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Web.Administration;
namespace ConsoleApplication79
{
    class Program
    {
        static void Main(string[] args)
        {
            ServerManager s = new ServerManager();
            var q = s.Sites.Select(aSite => new
            {
                ID = aSite.Id,
                AppPoolName = aSite.Applications.First().ApplicationPoolName
            });
            foreach (var item in q)
            {
                Console.WriteLine("ID: {0}, PoolName: {1}", item.ID, item.AppPoolName);
            }
        }
    }
}