iis应用程序池监控方法实例

目的:公司服务器IIS有十几个应用地址池,总在不经意间停掉一个,停止线系统日志里会有一大堆警告日志,然后就停掉了,分析了好几次,网上有人说是某一个网站的问题应该查网站,但是网站又有那么多地址,谁知道从哪个请求开始就把应用地址池给弄挂掉了啊,白天还好随时有人看着服务器在,晚上停了就麻烦了,所有有了需求,自动监控应用地址池。其实方法很简单,就是定时对应用地址池遍历一遍,检查是否有未启动的应用地址池,有的话就执行启动命令。
代码如下:///

        /// IIS应用地址池监控方法        ///

        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 + "应用地址池已成功启动.");                        }                        AppPool.Close();                    }                    Thread.Sleep(600000);                }            }            catch (Exception ex)            {                LogHelper.Wirte(ex.ToString());            }        }
这一个方法就搞定了,10分钟监控一次,不占任何系统资源。
但是我们怎么去取的IIS中应用地址池的集合喃,其实就是一个特殊的地址,IIS中的任何配置都是可以得到的
推荐一个可视化工具,IIS资源管理工具,大家可以百度一下。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《iis应用程序池监控方法实例》
文章链接:https://www.skykkk.com/archives150190.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

相关推荐

  • 暂无文章