应用程序池监控

 

应用程序池半夜挂掉,写个程序监控重启

string entPath = "IIS://LOCALHOST/W3SVC/AppPools"; 
StringBuilder sbLog = new StringBuilder();
while (true)
{
try
{
DirectoryEntry rootEntry = new DirectoryEntry(entPath);
foreach (DirectoryEntry AppPool in rootEntry.Children)
{
if (AppPool.Properties["AppPoolState"].Value.ToString() != "2")
{
sbLog.AppendFormat("{0} {1} \r\n", DateTime.Now.ToString("mm-ss-ffff"), "监控到" + AppPool.Name + "应用地址池停止.");
Console.Write(DateTime.Now.ToString() + "监控到" + AppPool.Name + "应用地址池停止.\n");
AppPool.Invoke("Start", null);
AppPool.CommitChanges();
Console.Write("应用地址池已成功启动.\n");
Log.WriteLog("IIS", sbLog.ToString());
}
AppPool.Close();
}
}
catch(Exception ex)
{
Log.WriteLog("IIS", ex.Message);
}
Thread.Sleep(60000);
}

posted on 2018-11-08 11:36  苏了个酥i  阅读(276)  评论(0编辑  收藏  举报