我有一个函数,它是一个发送电子邮件的异步调用,如果函数在我收到错误的同时被调用,会发生什么:
控件当前正忙
如何才能收到此错误并进行第二次工作?延迟会有效吗?
public static void MyEatTaskAsync(DataRowCollection rows)
{
MyTaskWorkerDelegate worker = new MyTaskWorkerDelegate(EmailAutomationTask.setEmailAndSend);
AsyncCallback completedCallback = new AsyncCallback(AsyncMethods.MyTaskCompletedCallback);
lock (AsyncMethods._sync)
{
if (AsyncMethods._myTaskIsRunning)
throw new InvalidOperationException("The control is currently busy.");
worker.BeginInvoke(rows, completedCallback, null);
AsyncMethods._myTaskIsRunning = true;
}
}