Как программно получить список сайтов и виртуальных каталогов в IIS 7? - PullRequest
29 голосов
/ 31 марта 2010

Кто-нибудь знает, как программно получить список сайтов и виртуальные каталоги в IIS 7?

Ответы [ 2 ]

68 голосов
/ 31 марта 2010

Ознакомьтесь с этим постом - похоже, это совершенно новый API управления в пространстве имен Microsoft.Web.Administration:

http://blogs.msdn.com/carlosag/archive/2006/04/17/MicrosoftWebAdministration.aspx

Вот краткий графический обзор из этого поста:

alt text

А вот пост "The Gu" на Крутые новые функции и API IIS7

Примерно так все сайты, их приложения и их виртуальные каталоги будут найдены на вашем сервере IIS7:

    static void Main(string[] args)
    {
        ServerManager mgr = new ServerManager();

        foreach(Site s in mgr.Sites)
        {
            Console.WriteLine("Site {0}", s.Name);

            foreach(Application app in s.Applications)
            {
                Console.WriteLine("\tApplication: {0}", app.Path);

                foreach(VirtualDirectory virtDir in app.VirtualDirectories)
                {
                    Console.WriteLine("\t\tVirtual Dir: {0}", virtDir.Path);
                }
            }
        }

        Console.ReadLine();
    }
3 голосов
/ 14 сентября 2011

Одним из важных предостережений при использовании сборки Microsoft.Web.Administration является то, что код должен выполняться на компьютере, на котором установлен IIS7.

Когда я разрабатывал систему для загрузки сайтов IIS7 в веб-страницу на моем компьютере с Windows XP, я обнаружил это ограничение. API отличный, я просто хотел бы его использовать.

Управление сервером IIS 7 с сервера Windows 2003 программно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...