4

在我的 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 };

但是这些处理程序都没有到达。

任何想法,我还能尝试什么?

4

2 回答 2

2

If you put those lines of code into a web page they will be lost. Why?

Because Web Page has a limited lifetime. To keep your event handling survive you need to put it into the global asax file.

于 2012-10-26T14:03:21.740 回答
2

WCF 允许您将实现 IErrorHandler 的对象插入到 Dispatcher 的错误处理程序中。

MSDN 页面有示例代码。

于 2012-10-26T14:06:51.180 回答