将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()
非常感谢
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兼容性"。