我正在尝试从同一服务器上的Web界面中找到停止,启动,重新启动/回收网站和应用程序池的方法。理想情况下,这是我可以用.NET做的事情而不必执行shell命令。
(我看到其他相关问题已被提出但我不想从命令行执行此操作,除非有必要)。
我需要能够为IIS6和IIS7执行此操作。
答案 0 :(得分:3)
您正在寻找Microsoft.Web.Administration.ServerManager课程。您可以在此处找到一些入门代码:http://learn.iis.net/page.aspx/226/microsoftwebadministration/。
您可以进一步探索该代码以执行您想要的操作。我相信整个appcmd都是在这个框架之上编写的。
此框架不适用于IIS6及更低版本。你需要IIS7。对于II6,您可以使用Mehmet Aras建议的WMI方法。不幸的是,你需要这两个库;或者也许有一些代码可以抽象出这些库。
答案 1 :(得分:2)
您可以使用WMI(Windows Management Instrumentation)。查看msdn上的Using WMI to Configure IIS。您还可以访问WMI提供程序并与它们进行交互,包括来自C#代码的IIS。 System.Management命名空间是一个可以开始的地方。
我要提醒您的一件事是找出.NET中的WMI代码是否需要完全信任,因为您希望能够在不完全信任的.NET Web应用程序中执行此操作默认情况下。