您的位置:首页 > 运维架构 > 网站架构

利用多线程实现对网站状态的监控

2010-12-01 18:29 281 查看
如果有200个站点,通过Ping 测试站点是否正常,如果每次ping用时为0.5秒,那么至少要花掉100秒,这是个漫长的等待时间,所以可以考虑用多线程来实现。

注意:使用C#的PingReply 即使返回结果不是IPStatus.Success,站点也有可能访问,因为空间商有可能关闭ICMP服务,或者有防火墙阻止了ping的包。最好是再使用WebClient做一起请求,看是否成功。

核心代码如下:


前段调用如下:

public static List<SiteConditionEntity> LiveMeshPingSiteInfo()
{

List<SiteInfoEntity> SiteEntityList = SiteInfoBLL.LoadSiteList();
DateTime lStarted = DateTime.Now;
ThreadManage tm = new ThreadManage(SiteEntityList);

tm.Start();

TimeSpan _timeSpent = DateTime.Now.Subtract(lStarted);
return tm.SCEntityList;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: