WCF中各种错误处理方法 RRS feed

  • 常规讨论

  • 一、在WCF中实现全局错误捕获 在 Web Applications中我们可以在Global.asax中通过Application_Error捕获应用程序错误。 在ASMX Web Services中我们可以写一个Soap Extension在程序异常被发送到客户端之前将其捕获并进行处理。 如果想在WCF中实现以下功能,当Server端程序出现异常时,程序可以捕获所有异常并进行写日志、通知管理员等处理。我们可以为每个Server端的方法加入try....catch...finally块,但这样写太麻烦。 实际上,在WCF中我们可以通过以下方式实现全局错误捕获: 1 MSDN中讲到,在System.ServiceModel.Dispatcher命名空间下有个IErrorHandler 接口。允许实施者对返回给调用方的错误消息进行控制,还可以选择执行自定义错误处理,例如日志记录。参见 2 实现方法示例:(以下示例仅仅按最简单的方式去实现WCF全局错误捕获) 二、WCF Error Handling and Fault Conversion This article describes the WCF error-handling paradigm, and provides a mechanism for automatic mapping of exceptions to WCF faults. 三、Wcf Exception Shielding - Unexpected FaultContracts So you've got Wcf Exception Shielding in place. All is well and the Enterprise Library Exception Handling Application Block takes care of those nasty exception details that you don't want your site visitors to know about... But have you ever had the urge to do more than just property mapping between exceptions and FaultContract? I know I have 同时可以参考:Exception Handling Application Block与WCF
    2009年6月22日 3:29