日期:2014-05-20  浏览次数:20682 次

怎样判断Window Service服务是否处于未响应状态?
windows定时服务是大多数公司很常用的服务。但是服务大多都不太稳定,在负载量比较大时,容易出现假死状态。

目前有一个想法就是用另外一个服务去监测这个服务,如果这个服务处于未响应状态了,自动将这个服务重启就是。

但怎样检测一个服务是否为未响应状态呢?这是一个问题。
------解决方案--------------------
你调用它,在规定的时间内没有回答你,你就“视作”它没有响应。
------解决方案--------------------

用ServiceController操作Windows服务

ServiceController sc= new ServiceController();
sc.MachineName = ".";
sc.ServiceName = "qiegao";
if (sc.Status == ServiceControllerStatus.Stopped)
   {
     sc.Start();
   }

------解决方案--------------------
在规定相应的时间内没有反应就视作没有响应
------解决方案--------------------
这个就是一个简单的“测试”嘛。

测试程序随便写,但是你要有亲自动手写测试的概念就行了。

你可以一天测试它一千次,一万次,可以随时想起来就用测试程序跑一会儿。

管理,并不需要假装很忙,只需要满满地自己写一些自动化测试程序就行了。