【发布时间】:2010-11-12 00:30:14
【问题描述】:
我正在尝试从同一服务器上的 Web 界面中找到一种方法来停止、启动、重新启动/回收网站和应用程序池。理想情况下,这将是我可以使用 .NET 执行的操作,而无需执行 shell 命令。
(我看到有人问了其他相关问题,但我不想从命令行执行此操作,除非有必要)。
我需要能够为 IIS6 和 IIS7 执行此操作。
【问题讨论】:
标签: .net iis web application-pool
我正在尝试从同一服务器上的 Web 界面中找到一种方法来停止、启动、重新启动/回收网站和应用程序池。理想情况下,这将是我可以使用 .NET 执行的操作,而无需执行 shell 命令。
(我看到有人问了其他相关问题,但我不想从命令行执行此操作,除非有必要)。
我需要能够为 IIS6 和 IIS7 执行此操作。
【问题讨论】:
标签: .net iis web application-pool
您正在寻找Microsoft.Web.Administration.ServerManager 课程。您可以在此处找到一些入门代码:http://learn.iis.net/page.aspx/226/microsoftwebadministration/。
您可以进一步探索该代码以执行您想要的操作。我相信整个appcmd 都是写在这个框架之上的。
此框架不适用于 IIS6 及以下版本。你需要IIS7。对于 II6,您可以使用 Mehmet Aras 建议的 WMI 方法。不幸的是,您需要这两个库;或者也许有一些代码可以抽象这些库。
【讨论】:
您可以使用 WMI(Windows 管理规范)。查看 msdn 上的 Using WMI to Configure IIS。您还可以访问 WMI 提供程序并与它们进行交互,包括从 C# 代码中的 IIS。 System.Management 命名空间是一个开始的地方。
我要提醒您的一件事是确定 .NET 中的 WMI 代码是否需要完全信任,因为您希望能够从不以完全信任运行的 .NET Web 应用程序中执行此操作默认情况下。
【讨论】: