2009-07-18 56 views
3

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

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

我需要能够为IIS6和IIS7做到这一点。

回答

3

您在寻找Microsoft.Web.Administration.ServerManager的分类。你可以在这里找到一些入门代码:http://learn.iis.net/page.aspx/226/microsoftwebadministration/

您可以进一步探索该代码以做你想做的事。我相信整个appcmd是写在这个框架的顶部。

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

2

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

我会告诫你的一件事是找出.NET中的WMI代码是否需要完全信任,因为你希望能够在.NET Web应用程序中执行此操作,信任默认。

相关问题