RunSynchronously()
C#で aを呼び出すとTask
、ウサギの穴のさらに下にある非同期呼び出しが同期的に実行されるようになりますか?
という名前のメソッドがあるとしましょうUpdateAsync()
。このメソッド内で別の非同期呼び出しが行われDoSomethingAsync()
、このメソッド内で再び が見つかります。'UpdateAsync()' でDoSomethingElseAsync()
呼び出すと、間接的に で呼び出されることになりますか?RunSynchronously()
RunSynchronously()
DoSomethingAsync()
質問の理由: -block内で
非同期メソッド ( UpdateAsync()
)を呼び出す必要があり、これを呼び出すのが安全かどうか疑問に思う状況があります。ドキュメントは、ブロック内に入れることができないという事実について非常に明確です。(厳密に言えば、ブロック内でブール値を使用して try-catch の後に呼び出すこともできますが、それはかなり汚い感じがします)。二重の質問で申し訳ありませんが、おそらく理解しているように、私はそれを表現する方法がよくわからず、この分野について本当によく理解していません.catch
RunSynchronously()
await
catch
catch
UpdateAsync()
(編集: メソッドが非同期で呼び出されたかどうかを確認する方法がわかりません。このための単体テストをどのように記述しますか?どうにかしてログに記録することは可能ですか?)