【问题标题】:How do I list and create all IIS websites, folders in the websites and virtual web directories in C#如何在 C# 中列出和创建所有 IIS 网站、网站中的文件夹和虚拟 Web 目录
【发布时间】:2013-04-18 03:24:04
【问题描述】:

我试图首先列出所有 IIS 网站以及每个网站中的文件夹/虚拟 Web 目录(在树视图中)。然后,我想允许用户选择上述任何节点并在那里创建一个新的虚拟 Web 目录。如果我知道我打算使用的路径,我可以创建一个虚拟 Web 目录,但我无法获得网站中的文件夹/虚拟 Web 目录的列表(我可以获得网站列表)。

【问题讨论】:

    标签: c# iis


    【解决方案1】:

    使用 System.DirectoryServices 从 IIS 获取网站。您可以在以下网址找到类似的讨论

    http://channel9.msdn.com/forums/TechOff/78084-Extracting-list-of-web-sites-from-IIS-manager/

    【讨论】:

    • 我可以得到网站列表。不过还是谢谢。
    【解决方案2】:

    有趣的是,我只是需要为 IIS 7.5 执行此操作,我创建了一个具有我想要的主要属性的类 IisSiteApplication

    using Microsoft.Web.Administration;
    
    
     public class IisSiteApplicationList : List<IisSiteApplication>
        {
            public IisSiteApplicationList()
            {
                ServerManager iisManager = new ServerManager();
                SiteCollection sites = iisManager.Sites;
                foreach (Site iisSite in sites)
                {
                    foreach (Application iisApp in iisSite.Applications)
                    {
                        IisSiteApplication app = new IisSiteApplication
                            {
                                SiteId = iisSite.Id,
                                SiteName = iisSite.Name,
                                 AppName = iisApp.ToString(),
                                ApplicationPoolName = iisApp.ApplicationPoolName,
                                Directories =
                                    String.Join(";", iisApp.VirtualDirectories.Select(a =>   a.PhysicalPath).ToArray())
                            };
                        Add(app);
                    }
                }
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 2012-11-02
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多