.NETで非同期コードを使用する場合、非同期法は特定の理由で同期的に実行される場合があります。この目的のために、さまざまなテクノロジーを使用してこれを実現できます。
一般的なソリューションは、
メソッドを使用することです。この方法により、返品値があるかどうかに同時に非同期タスクメソッドを実行できます。この方法を使用してください:返品値なし: 返品値があります:
文法AsyncHelpers.RunSync
を使用します。ここで、
AsyncHelpers.RunSync(() => GetCustomers());
AsyncHelpers.RunSync(() => GetCustomers());
インスタンスを作成し、GetCustomers()
を使用して現在の同期コンテキストに設定します。 メッセージループを使用します。
非同期タスクが完了したら、を使用してメッセージループを終了します。 ExclusiveSynchronizationContext
ExclusiveSynchronizationContext
予防策SynchronizationContext.SetSynchronizationContext(syncContext);
syncContext.Post(async _ => { ... }, null);
以上が.NETで非同期メソッドを同期するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。