我有一个网络程序来监控一些带有静态IP的控制器。我的程序有一个这个IP地址的列表,我定期使用计时器ping所有这些地址,以检查某些控制器是否脱机。
几天后程序挂起,CPU达到100%。跳过ping的发送时,程序运行正常。我现在发现,在每个发送例程之后,程序会向Memory Usage添加几个K.所以我的ping例程一定有问题吗?
Ping pgCheck = new Ping();
try
{
stStatus = pgCheck.Send(arData[i, 6], 900000).Status.ToString();
}
catch
{
//Ping failed, write it to log...
}
finally
{
pgCheck.Dispose();
GC.Collect();
GC.WaitForPendingFinalizers();
}