如何以编程方式获取IIS 7中的站点列表和虚拟目录?

tar*_*nov 30 .net c# iis-7

有谁知道如何以编程方式获取IIS 7中的站点列表和虚拟目录?

mar*_*c_s 70

看看这篇文章 - 似乎是Microsoft.Web.Administration命名空间中一个品牌打击的新管理API :

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

以下是该博客文章的快速图形概述:

替代文字

这是酷新IIS7功能和API的"The Gu"帖子

这样的东西会在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();
    }
Run Code Online (Sandbox Code Playgroud)

  • 感谢Marc的最好方法是接受他的出色答案. (20认同)