0

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

0 に答える 0