所以基本上我正在使用 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 );
}
}