簡體   English   中英

c# 從外部 dll 項目中捕獲所有未處理的異常

[英]c# Catch all unhandled exceptions from external dll project

我正在嘗試用 C# 開發一個 dll 項目,它必須能夠捕獲引用它的項目的所有未處理的異常。

這個想法是將這個 dll 包含在任何類型的項目(mvc、web api、其他 dll 項目)中,並用它們的整個調用堆棧捕獲並登錄到數據庫中,以便能夠重現它們。

問題是我不能使用currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler); 因為我在一個 dll 項目中並且沒有 main 方法。

另一方面,我如何在項目中注冊這個 dll 以便能夠捕獲它們的錯誤? 是否有必要在配置文件中注冊一些東西?

我的第一個想法是保留應用程序中未處理異常的處理程序並將異常傳遞給類庫,您可以添加額外的參數來保存來自當前域的信息,然后將這些信息記錄到文件/數據庫中。

我的建議是使用某種 外觀/ 單例模式作為類庫的唯一入口點,這將強制所有引用應用程序使用相同的邏輯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM