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