2009-07-18 54 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應用程序中執行此操作,信任默認。

相關問題