したがって、基本的には、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 );
}
}