2011-06-06 30 views
0

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

感谢,

朗达

回答

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