用c#怎么检测iis应用程序池是否被停止了,即它的状态

我的iis应用程序池动不动就被自动停止了,我想做个小程序,自动检测iis应用程序池是否被停止,如果停止了就自动启动它,高手帮忙

用下面代码可以启动应用程序池
DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
DirectoryEntry findPool =appPool.Children.Find(AppPoolName,"IIsApplicationPool");
findPool.Invoke(method,null);
appPool.CommitChanges();
appPool.Close();

用下面代码可以检查一个服务是否被启动
System.ServiceProcess.ServiceController  sc  =  new  System.ServiceProcess.ServiceController();  
sc.ServiceName  =  AppPoolName;//"MSSQLSERVER";  
if(  sc.Status    !=  ServiceControllerStatus.Running  )  
sc.Start();

问题是怎么用这个检测iis应用程序池是否被停止了,高手帮忙,谢谢拉


在你上面的代码中不是可以取得“IIS://localhost/W3SVC”这个对象么?

那么应该可以得到“IIS://localhost/W3SVC/IIsWebServer”这个对象,
你可以检查这个对象的“ServerState”属性。
ServerState Result:
         1: Starting
         2: Started
         3: Stopping
         4: Stopped
         5: Pausing
         6: Paused
         7: Continuing
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运行环境:window .net 1.1框架 http://download.microsoft.com/download/0/f/e/0fecf85c-fb50-4ca9-adf2-c4be7ec9b454/setup.exe 适用范围:虚拟主机提供商用于排查个别有问题的网站. 监控每一个WEB站点的资源使用状态,包括:CPU使用率,总的CPU时间,内存,最大内存,线程数,模块数等. 如果某个网站CPU占用率,或内存,最大内存非常大,标志该网站流量很大,或程序有问题. 软件功能: 应用程序:可以看到到当前机器运行的应用程序名称. 进程管理器:可以看到每一个进程序的详细信息.在win2000机器下运行备注字段会指明了虚拟主机的网站名称.在win2003机器下运行备注字段会指明了应用程序的名称. IIS6.0设置:先加载IIS列表,可以选择需要监控的站点(按Shift键可以多选),再点击使用独立应用程.这样就可以在进程管理器里,查看到每一个站点所对应的应用程的进程序的CPU等情况.建议操作之前,先对IIS进行备份,然后监控完了,恢复IIS设置.在还原成初始状态. 如果全部使用独立应用程序,对服务器的资源占用会有所增加,只把三四十个可以疑的站点设置独立应用程,或者先30个站点共用一个,找出是哪一个有问题了,再把这个里的站点设置成独立程序,再具体查找. IIS5.0设置:先加载IIS列表,可以选择需要被监控的站点(按Shift键可以多选),然后点"安装监控器".再去进程管理器里查看站点所对应的进程的CPU情况.注意:建议操作之前,先对IIS进行备份,然后监控完了,恢复IIS设置.在还原成初始状态. 安装监示器之后,对服务器的资源占用会有所增加,建议不要把全部的程序都安装监控器,一次只安装三四十个可疑的站点即可. 注册(Register):注册本软件.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值