簡體   English   中英

捕獲當前線程中的所有異常

[英]Catching all exceptions in current thread

在我的Web應用程序中,我有單向異步WCF服務。 在這個服務中,我想捕獲所有異常,就像我在global.asax Application_Error中所做的那樣。 我試圖處理這些事件:

AppDomain.CurrentDomain.UnhandledException += (s,e) => { //some logic };
AppDomain.CurrentDomain.FirstChanceException += (s,e) => { //some logic };

甚至試過:

//this one is for Win Forms Application
Application.ThreadException += (s,e) => { //some logic };

//this one is for Web Application
HttpContext.Current.ApplicationInstance.Error += (s,e) => { //some logic };

但是沒有達到這些處理程序。

任何想法,我還能嘗試什么?

如果將這些代碼行放入網頁中,它們將會丟失。 為什么?

因為網頁的使用壽命有限。 為了使您的事件處理能夠生存,您需要將其放入全局asax文件中。

WCF允許您將實現IErrorHandler的對象插入Dispatcher的Errorhandler中。

MSDN頁面包含示例代碼。

暫無
暫無

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

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