在检索委托返回值时,真正异步执行Asynccallback

时间:2013-10-31 17:44:50

标签: c# asynchronous

所以基本上我正在使用BeginInvoke调用委托我也正在传递AsyncCallback。每当回调被执行时,我想要检索委托返回值并对它做一些事情,但为了做到这一点,我需要调用EndInvoke阻止主线程,这不是我想要的。我希望该回调真正异步执行。可以这样做吗?如果没有,还有其他方法吗?我的异步回调方法现在看来是这样的

private void RegisterUserAsyncCallback(IAsyncResult result)
{
    var something = (Something)result.AsyncState;
    var asyncCaller = (AsyncMethodCaller)((AsyncResult)result).AsyncDelegate;
    var responce = asyncCaller.EndInvoke(result);

    if (responce.Success)
    {
        something.SomeId = SomeId.Active;
        someDAL.UpdateSomething(something );
    }
}

0 个答案:

没有答案