【问题标题】:Is it possible to start / stop an application pool or website in IIS programatically?是否可以以编程方式在 IIS 中启动/停止应用程序池或网站?
【发布时间】:2010-11-12 00:30:14
【问题描述】:

我正在尝试从同一服务器上的 Web 界面中找到一种方法来停止、启动、重新启动/回收网站和应用程序池。理想情况下,这将是我可以使用 .NET 执行的操作,而无需执行 shell 命令。

(我看到有人问了其他相关问题,但我不想从命令行执行此操作,除非有必要)。

我需要能够为 IIS6 和 IIS7 执行此操作。

【问题讨论】:

    标签: .net iis web application-pool


    【解决方案1】:

    您正在寻找Microsoft.Web.Administration.ServerManager 课程。您可以在此处找到一些入门代码:http://learn.iis.net/page.aspx/226/microsoftwebadministration/

    您可以进一步探索该代码以执行您想要的操作。我相信整个appcmd 都是写在这个框架之上的。

    此框架不适用于 IIS6 及以下版本。你需要IIS7。对于 II6,您可以使用 Mehmet Aras 建议的 WMI 方法。不幸的是,您需要这两个库;或者也许有一些代码可以抽象这些库。

    【讨论】:

      【解决方案2】:

      您可以使用 WMI(Windows 管理规范)。查看 msdn 上的 Using WMI to Configure IIS。您还可以访问 WMI 提供程序并与它们进行交互,包括从 C# 代码中的 IIS。 System.Management 命名空间是一个开始的地方。

      我要提醒您的一件事是确定 .NET 中的 WMI 代码是否需要完全信任,因为您希望能够从不以完全信任运行的 .NET Web 应用程序中执行此操作默认情况下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-18
        • 2011-06-24
        • 2018-09-15
        • 2011-06-13
        • 1970-01-01
        • 2018-11-04
        • 1970-01-01
        • 2018-11-26
        相关资源
        最近更新 更多