我已经阅读了几篇关于构建自定义ErrorHandler的文档(通过继承IErrorHandler).不幸的是,我对如何做到有几点疑虑.
问题是我并不完全理解IErorrHandler的两个方法的含义(即ProvideFault和HandleError).对我来说,HandleError用于处理异步逻辑(例如登录).但是,在这种情况下,为什么这个方法返回一个布尔值?我还认为可以使用另一种方法来确定错误是应该传播到客户端还是传播给其他人.
我错了吗 ?
我曾在一个点上实现了一个处理程序,以便在HandleError()中记录异常,并在ProvideFault()中执行Exception-to-Fault转换.这对我来说相当不错.
但是我已经停止使用IErrorHandler,因为我发现它不会被所有异常触发.我相信这是一个不会被这段代码捕获的System.Security.SecurityException.这就像WCF特别设置它并直接传递给客户端.这让我有点紧张,因为我开始想知道我还没有抓住这个所谓的全能界面.