2012-08-07 119 views
2

任何人都可以幫助我獲取c#中的代碼,以獲取以下vbscript代碼。將vbs轉換爲c# - 啓動和停止iis網站和應用程序池

Option Explicit 

Dim WebSiteID, objWebSite, ObjAppPool 

WebSiteID = "1" 

Set objWebSite = GetObject("IIS://localhost/W3SVC/" & WebSiteID) 
WScript.Echo "Stopping Web Site : " & objWebSite.ServerComment 
objWebSite.Stop() 

wscript.echo "Stopping Application Pool : " & objWebSite.AppPoolID 
Set objAppPool = GetObject("IIS://localhost/W3SVC/AppPools/" & objWebSite.AppPoolID) 
objAppPool.Stop() 

wscript.echo "Starting Application Pool : " & objWebSite.AppPoolID 
objAppPool.Start() 

WScript.Echo "Starting Web Site : " & objWebSite.ServerComment 
objWebSite.Start() 

非常感謝

+2

Stackoverflow不是代碼翻譯服務 - 你嘗試過什麼嗎? – Shai 2012-08-07 10:35:53

回答

2

停止+開始=回收,所以這應該這樣做:

參考:System.DirectoryServices.dll程序

using System.DirectoryServices; 

    void Recycle(string appPool) 
    { 
     var appPoolPath = "IIS://localhost/W3SVC/AppPools/" + appPool; 

     using (DirectoryEntry appPoolEntry = new DirectoryEntry(appPoolPath)) 
     { 
      appPoolEntry.Invoke("Recycle", null); 
      appPoolEntry.Close(); 
     } 
    } 

您可能需要啓用「IIS 6 WMI兼容性「,如果此方法失敗。

相關問題