2012-08-07 120 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兼容性“,如果此方法失败。

相关问题