导航

asp.net 异步调用

Posted on 2009-09-30 09:09  Niko  阅读(439)  评论(0)    收藏  举报
//定义与方法同签名的委托 
private delegate void DelegateRunSolver();  
public void StartMethod()
{

//实例化委托并初赋值  ,runSolver异步调用的方法
DelegateRunSolver dn = new DelegateRunSolver(runSolver);

//实例化回调方法 
AsyncCallback acb = new AsyncCallback(CallBackMethod);

//C#异步调用开始     
IAsyncResult iar = dn.BeginInvoke(acb, dn);
}

//异步调用完成后的处理
 private void CallBackMethod(IAsyncResult ar)
    {
        DelegateRunSolver dn = (DelegateRunSolver)ar.AsyncState;
   
        dn.EndInvoke( ar);
    }