Чтение настроек IIS из ASP.app

#iis #web-config

#iis #web-config

Вопрос:

Мы хотели бы создать страницу контрольного списка администратора, которая позволит нашим сетевым администраторам быстро просматривать все настройки в IIS и web config, чтобы легко устранить проблему. веб-конфигурация довольно проста, но я не уверен, как получить данные из IIS. (Имя и тип пула приложений, ключ компьютера, анонимная аутентификация и т.д.) Я уверен, что это можно сделать, я просто не знаю как.

Спасибо,

Ронда

Ответ №1:

Информация, которую вы ищете, доступна в IIS .Сетевые API. Вы можете найти их в windows system32 inetsrv (они принадлежат Microsoft.Web.Administration.dll, и, возможно Microsoft.Web.Management.dll ).

Пример кода для получения идентификатора и имени пула приложений для каждого сайта :

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