香港主机IIS有十几个应用地址池,总在不经意间停掉一个,停止线系统日志里会有一大堆警告日志,然后就停掉了,分析了好几次,网上有人说是某一个网站的问题应该查网站,但是网站又有那么多地址,谁知道从哪个请求开始就把应用地址池给弄挂掉了啊,白天还好随时有人看着主机在,晚上停了就麻烦了,所有有了需求,自动监控应用地址池。其实方法很简单,就是定时对应用地址池遍历一遍,检查是否有未启动的应用地址池,有的话就执行启动命令。代码如下:/// <summary /// IIS应用地址池监控方法 /// </summary private void IISAppPools() { try { string entPath = "IIS://LOCALHOST/W3SVC/AppPools"; while (true) { DirectoryEntry rootEntry = new DirectoryEntry(entPath); foreach (DirectoryEntry AppPool in rootEntry.Children) { if (AppPool.Properties["AppPoolState"].Value.ToString() != "2") { LogHelper.Wirte("监控到" + AppPool.Name + "应用地址池停止."); AppPool.Invoke("Start", null); AppPool.CommitChanges(); LogHelper.Wirte(AppPool.Name + "应用地址池已成功启动.");
版权声明:本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。