【问题标题】:Is it possible to shortcut/bypass other IErrorHandlers in WCF?是否可以快捷方式/绕过 WCF 中的其他 IErrorHandlers?
【发布时间】:2011-07-28 20:27:28
【问题描述】:

我正在开发一个相当大的应用程序,并希望针对不同的条件以多种方式实现 IErrorHandler。但是,似乎每个错误都会调用所有实例。有没有办法告诉 WCF 错误已由特定实例处理,以便不会调用列表中剩余的任何处理程序?

(更详细一点,我们正在使用添加“默认”错误处理程序的 3rd 方工具包。这意味着无论我们做什么,都会调用此处理程序并撤销我们的一些更改。)

【问题讨论】:

    标签: wcf ierrorhandler


    【解决方案1】:

    您可以只使用提供者模式,并在其中包含您的错误处理程序列表。然后,您可以将任何条件委托给您选择的处理程序。

    也就是说,您将连接 1 个包含所有处理程序的错误处理程序,而不是连接许多都按顺序执行的错误处理程序。

    【讨论】:

    • 是的,这在大多数情况下都有效;但是,Web API 直接向 WCF 添加了一个默认错误处理程序,因此这不能解决绕过该错误处理程序的问题。幸运的是,自从我去年的原始帖子以来,Microsoft 已经更新了 Web API 代码,因此当自定义处理程序“处理”错误时不会调用默认处理程序。不过建议很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2014-08-23
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 2011-08-06
    • 2011-08-07
    相关资源
    最近更新 更多