この非同期呼び出しを行う ac# .NET winforms アプリがあります。
simpleDelegate.BeginInvoke(null, null);
私の関数はデリゲートによって呼び出されており、すべてうまく機能しています。問題は、関数がワーカー スレッドで終了した後、メイン スレッドで winform の一部のコントロールを更新する必要があることです。ワーカー スレッドがこれらのコントロールを更新しようとすると、.NET が異常終了します。しかし、メインスレッドがユーザーアクションに応答し続ける必要があり、ワーカースレッドが非同期関数の呼び出しを終了した後にのみ関数 UpdateFormAfterServerCall() を呼び出します。
これを行う方法を抽象的に説明するのではなく、簡潔なコード サンプルを提供していただければ幸いです。私はすでに何百もの説明を読みましたが、正しく配線するのに苦労しています。
注: BeginInvoke の前に、次のものがあります。
simpleDelegate = new MethodInvoker(CallServer);