网站首页 网站建设 IT知识 IT知识教程 iis应用程序池监控方法实例

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

2021-05-19 21:15:58

目的:公司服务器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 + "应用地址池已成功启动.");
}
AppPool.Close();
}
Thread.Sleep(600000);
}
}
catch (Exception ex)
{
LogHelper.Wirte(ex.ToString());
}
}

这一个方法就搞定了,10分钟监控一次,不占任何系统资源。

但是我们怎么去取的IIS中应用地址池的集合喃,其实就是一个特殊的地址,IIS中的任何配置都是可以得到的

推荐一个可视化工具,IIS资源管理工具,大家可以百度一下。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。 如涉及版权问题,请提交至online#300.cn邮箱联系删除。

以上产品还未完全满足我的所有需求,在下方提交我的专属需求
我的专属需求:
*手机号:
*验证码:
img
咨询报价
现在咨询
img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP