【问题标题】:How to programmatically get sites list and virtual dirs in IIS 7?如何以编程方式获取 IIS 7 中的站点列表和虚拟目录?
【发布时间】:2011-02-03 01:58:35
【问题描述】:

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

【问题讨论】:

  • 这仍然是一个问题吗?如果没有将以下选项之一标记为答案。

标签: c# .net iis-7


【解决方案1】:

查看这篇文章 - 似乎是 Microsoft.Web.Administration 命名空间中的全新管理 API:

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

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

这是Cool new IIS7 Features and APIs上的“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();
    }

【讨论】:

  • 感谢 Marc 的最佳方式是接受他的出色回答。
  • 感谢您提供额外的代码示例。正是我需要的!
【解决方案2】:

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

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

Control IIS 7 server from Windows 2003 server programmatically

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多