Asp.net-Core-Webapi
異常處理中間件與過濾器 aspnetcore webapi 2.1
我想知道是否有人可以澄清這一點。我發現用法令人困惑。
連結和影片都沒有回答我的問題
甚至是關於它的影片
但是,僅出於 webApi 的目的,實現兩者是否有意義?
我的理解是它們涵蓋了系統的不同部分。
是否有明確說明如何使用它們的項目(github)或連結。
我可以在同一個 webApi 中使用兩者嗎?
有樣品嗎?
謝謝
您可以在您的項目中同時使用這兩種方法,但如果您的項目只有 MVC API,並且您只關心從程式碼中擷取未處理的異常,那麼使用過濾器或中間件不會有太大的不同,我會說使用過濾器。
但是,如果您更關心 MVC 上下文或程式碼之外可能發生的錯誤,例如,您想在路由中間件中擷取錯誤,則使用中間件。
使用過濾器的另一個主要原因是您在過濾器中獲得了 MVC 上下文。因此,如果您有類似的邏輯,如果在呼叫 POST /orders 時發生異常,那麼您想要記錄一個不同的異常,如果它在另一個操作中,則執行其他操作。在這種情況下,請使用過濾器。
總之,我嘗試遵循這樣的流程
我是否擔心 ASP.NET 框架中的錯誤- 使用中間件
我是否只關心我的程式碼中的錯誤- 使用過濾器
我是否需要擷取 ASP.NET 框架中的全域錯誤以及基於錯誤發生位置的獨特邏輯- 兩者都使用