【问题标题】:List all websites in IIS c#列出IIS c#中的所有网站
【发布时间】:2013-06-20 04:57:56
【问题描述】:

有没有办法使用 c# 列出 IIS 中存在的所有活动网站?

谢谢

Sp

【问题讨论】:

    标签: c# iis


    【解决方案1】:

    对于 IIS 7,您可以使用 Microsoft.Web.Administration.dll (C:\Windows\System32\inetsrv) 和以下代码

            var iisManager = new ServerManager();
            SiteCollection sites = iisManager.Sites;
    

    【讨论】:

    • 这很好用,谢谢!但是,应该注意的是,正在执行的应用程序(VS 或应用程序本身)将需要提升的权限才能运行它(至少在我的 Windows 7 设置中)。
    • 这是我长期以来在网上找到的最好的东西(当然是工作相关的!)
    【解决方案2】:

    这里有一个 article,解释了如何使用来自 System.DirectoryServices 命名空间以及 IIS 7 引入的 Microsoft.Web.Administration 命名空间中的类来完成此操作。

    【讨论】:

      【解决方案3】:

      如果有人感兴趣,我使用以下内容

      var files = Directory.GetFiles(directory, "*",SearchOption.AllDirectories);
      sizeInBytes = (from file in files let fileInfo = new FileInfo(file) select fileInfo.Length).Sum();
      

      【讨论】:

      • 这个 sn-p 假设指定目录中的目录代表实际的网站,这不一定是真的。我的猜测是您实际上是在尝试列出站点中的虚拟文件夹?而是使用 System.DirectoryServices 中的类,这样会更准确。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      相关资源
      最近更新 更多