ASP.Net の Async Void について: 未解決の操作数
問題: ASP.Net 内の Async void メソッドアプリケーションでは次のことが発生します例外:
System.InvalidOperationException: An asynchronous module or handler completed while an asynchronous operation was still pending
説明:
ASP.Net の非同期メソッドは、呼び出し時に未処理の操作の数をインクリメントし、完了時にデクリメントします。 Async void メソッドは、MVC フレームワークをバイパスして、ASP.Net SynchronizationContext に直接通知します。
タスク リターンと非同期 Void:
非同期 void メソッドとは異なり、タスクを返す非同期メソッド:
提供された例では:
「Fire and Forget」誤解:
ASP.Net では、非同期 void メソッドを「起動して忘れる」と見なすべきではありません。一部のシナリオでは、ファイア アンド フォーゲットのように見えるかもしれませんが、エラー処理セマンティクスは、それらが本当に忘れっぽいものではないことを示しています。
追加の考慮事項:
以上がASP.NET で Async Void によって「System.InvalidOperationException」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。