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

问题描述 投票:0回答:2

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

c# .net iis-7
2个回答
70
投票

查看这篇文章 - 似乎是

Microsoft.Web.Administration
命名空间中的全新管理 API:

链接

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


(来源:carlosag.net

这是一篇关于 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();
    }

3
投票

使用 Microsoft.Web.Administration 程序集的一个重要警告是代码必须在安装了 IIS7 的机器上运行。

当我开发一个系统来将 IIS7 站点加载到我的 Windows XP 机器上的网页时,我发现了这个限制。 API 很棒,我只是希望我能使用它。

以编程方式从 Windows 2003 服务器控制 IIS 7 服务器

© www.soinside.com 2019 - 2024. All rights reserved.