将vbs转换为启动和停止iis网站和应用程序池

本文关键字:iis 网站 应用 程序池 应用程序 vbs 转换 启动 | 更新日期: 2024-10-24 11:24:19

有人能帮我获得以下vbscript代码的c#代码吗。

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()

非常感谢

将vbs转换为启动和停止iis网站和应用程序池

Stop+Start=回收,所以应该这样做:

引用: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兼容性"。