下面是一些代码
for (int i = 0; i < arPing.Count; i++)
{
object obj = arPing[i]; ArrayList alTemp = (ArrayList)obj; object obj1 = alTemp[alTemp.Count - 1];
string strPingIp = (string)obj1;
//构造Ping实例
Ping pingSender = new Ping(); pingSender.PingCompleted += new PingCompletedEventHandler(this.PingCompletedCallBack);//设置PingCompleted事件处理程序 pingSender.SendAsync(strPingIp, 12000, buffer, null);
}
private void PingCompletedCallBack(object sender, PingCompletedEventArgs e)
{
//ping处理
}运行后发现虚拟内存不断增长,到最后引起程序异常,如何解决?
for (int i = 0; i < arPing.Count; i++)
{
object obj = arPing[i]; ArrayList alTemp = (ArrayList)obj; object obj1 = alTemp[alTemp.Count - 1];
string strPingIp = (string)obj1;
//构造Ping实例
Ping pingSender = new Ping(); pingSender.PingCompleted += new PingCompletedEventHandler(this.PingCompletedCallBack);//设置PingCompleted事件处理程序 pingSender.SendAsync(strPingIp, 12000, buffer, null);
}
private void PingCompletedCallBack(object sender, PingCompletedEventArgs e)
{
//ping处理
}运行后发现虚拟内存不断增长,到最后引起程序异常,如何解决?
http://msdn.microsoft.com/zh-cn/library/system.net.networkinformation.ping(v=vs.90).aspx
可以使用“递归回调”,回调里面也SendAsync