回调函数被执行两次?
初次使用异步委托,在MSDN上抄了些代码,用例跑起来没有什么问题,但是debugview显示回调函数被执行了两次,并且执行endinvoke的时候"出现未将对象设置到实例错误"(已被catch住),觉得有问题,但是查不出来,所以请高手指教.
public delegate void SendDelegate(string stringInformation);
//异步调用的地方
{
SendDelegate MySenderDelegate = new SendDelegate(AAA);
IAsyncResult ar = MySenderDelegate.BeginInvoke(stringInformation,new AsyncCallback(CallBackMethod) ,null);
}
//回调
private void CallBackMethod(IAsyncResult ar)
{
try
{
SendDelegate dlgt = (SendDelegate) ar.AsyncState;
dlgt.EndInvoke(ar);//这句话报错
}
catch(Exception ExceptionObj)
{
}
}