了解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 方法直接通知 ASP.Net SynchronizationContext,繞過 MVC 框架。
任務回傳與 Async Void:
與 async void方法不同,從非同步方法:
在提供的範例中:
「即發即忘」誤解:
非同步 void 方法應該在 ASP.Net 中不被視為「即發即忘」。雖然它們在某些情況下可能看起來是“即發即忘”,但錯誤處理語義表明它們並不是真正的健忘。
其他注意事項:
以上是為什麼 Async Void 在 ASP.NET 中會導致「System.InvalidOperationException」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!