4

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

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

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

4

2 回答 2

3

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

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

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

于 2009-07-18T20:49:33.590 回答
2

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

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

于 2009-07-18T21:06:29.967 回答