在我的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 };
但是没有达到这些处理程序。
任何想法,我还能尝试什么?
答案 0 :(得分:2)
如果将这些代码行放入网页,它们将会丢失。为什么?
因为网页的使用寿命有限。为了使您的事件处理能够生存,您需要将其放入全局asax文件中。
答案 1 :(得分:2)
WCF允许您将实现IErrorHandler的对象插入Dispatcher的Errorhandler中。
MSDN page包含示例代码。