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