How to programmatically get sites list and virtual dirs in IIS 7?

前端 未结 2 1095
旧巷少年郎
旧巷少年郎 2020-12-13 13:44

Does anybody know how to programmatically get the sites list and virtual dirs in IIS 7?

2条回答
  •  旧时难觅i
    2020-12-13 14:22

    Check out this post - seems to be a brand-spanking new management API in the Microsoft.Web.Administration namespace:

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

    Here's a quick graphical overview from that blog post:

    alt text

    And here's a "The Gu" post on Cool new IIS7 Features and APIs

    Something like this will find all the sites, their application and their virtual directories in your IIS7 server:

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

提交回复
热议问题