Asp.net-Core-Webapi

異常處理中間件與過濾器 aspnetcore webapi 2.1

  • November 27, 2018

我想知道是否有人可以澄清這一點。我發現用法令人困惑。

連結和影片都沒有回答我的問題

我知道像 asp.net 核心中間件與過濾器這樣的連結

甚至是關於它的​​影片

但是,僅出於 webApi 的目的,實現兩者是否有意義?

我的理解是它們涵蓋了系統的不同部分。

是否有明確說明如何使用它們的項目(github)或連結。

我可以在同一個 webApi 中使用兩者嗎?

有樣品嗎?

謝謝

您可以在您的項目中同時使用這兩種方法,但如果您的項目只有 MVC API,並且您只關心從程式碼中擷取未處理的異常,那麼使用過濾器或中間件不會有太大的不同,我會說使用過濾器。

但是,如果您更關心 MVC 上下文或程式碼之外可能發生的錯誤,例如,您想在路由中間件中擷取錯誤,則使用中間件。

使用過濾器的另一個主要原因是您在過濾器中獲得了 MVC 上下文。因此,如果您有類似的邏輯,如果在呼叫 POST /orders 時發生異常,那麼您想要記錄一個不同的異常,如果它在另一個操作中,則執行其他操作。在這種情況下,請使用過濾器。

總之,我嘗試遵循這樣的流程

我是否擔心 ASP.NET 框架中的錯誤- 使用中間件

我是否只關心我的程式碼中的錯誤- 使用過濾器

我是否需要擷取 ASP.NET 框架中的全域錯誤以及基於錯誤發生位置的獨特邏輯- 兩者都使用

引用自:https://stackoverflow.com/questions/50887540