c#中异步调用asyn

1定义委托

public delegate int OrderBackAsyncExecuteHandler(List<OrderBackModel> objList, List<OrderBackModel> objErrorList, string bankId, string bankAccountNo, string fileName, short userId, string realName);//批量异步执行


2引用

OrderBackAsyncExecuteHandler method = OrderBackAsyncExecute;//异步调用的方法,方法要定义成async
OrderBackAsyncExecuteHandler handler = new OrderBackAsyncExecuteHandler(OrderBackAsyncExecute);
IAsyncResult result = handler.BeginInvoke(objList, objErrorList, bankId, bankAccountNo, file.FileName, userId, realName, new AsyncCallback(Callback), null);


3回调

public void Callback(IAsyncResult asyncResult)
        {
          try
            {
               OrderBackAsyncExecuteHandler handler = (OrderBackAsyncExecuteHandler)((System.Runtime.Remoting.Messaging.AsyncResult)asyncResult).AsyncDelegate;


              LogHelper.Write("批量执行回调结果:" + handler.EndInvoke(asyncResult));//注意: BeginInvoke和EndInvoke必须成对调用.即使不需要返回值,但EndInvoke还是必须调用,否则可能会造成内存泄漏。
               //(asyncResult.AsyncState as AddHandler).EndInvoke(asyncResult);
               LogHelper.Write("批量执行释放资源成功。");
           }
           catch (Exception ex)
           {
              LogHelper.Write("批量执行释放资源失败。" + ex);
           }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值