【问题标题】:WCF: server-side error handling. best practiceWCF:服务器端错误处理。最佳实践
【发布时间】:2010-07-22 12:27:50
【问题描述】:

我编写 WCF 服务并希望保留它的活动日志:跟踪、警告和错误消息。非常直接的方法是将所有合同服务代码包装在 try/catch 部分中,并从 catch 部分写入错误消息以重新引发服务合同错误异常。

我想如果有一个代码点来捕获所有未捕获的异常而不是几十个try/catch 部分会很好。从那时起编写合约方法参数以提供详细的错误信息也很有用。

WCF 可以吗?

在 WCF 服务中组织错误处理的最佳做法是什么?

提前感谢您!

【问题讨论】:

    标签: .net wcf


    【解决方案1】:

    看看IErrorHandler接口

    它允许实现者控制返回给调用者的错误消息,并可选择执行自定义错误处理,例如日志记录

    您可以实现您的服务行为(参见IServiceBehavior 接口)并将您的处理程序添加到ChannelDispatcher 错误处理程序。

    更多详情请见WCF Exception Handling with IErrorHandler

    【讨论】:

    • 这篇文章不再可用,我在任何地方都找不到它的存档……你知道它在其他地方发表过吗?
    【解决方案2】:

    articlearticle很好地解释了不同的做法和最好的做法。很长,但可能会回答您的问题。

    (如果感到懒惰,请检查理想场景

    文章网址:http://www.olegsych.com/2008/07/simplifying-wcf-using-exceptions-as-faults/

    【讨论】:

      【解决方案3】:

      我不确定这是否适用于 WCF,但您可以尝试 AppDomain.UnhandledException 事件。

      【讨论】:

      • AppDomain.UnhandledException 不是处理异常的地方,只能记录它们。因为如果异常传播到该级别,应用程序将终止。
      猜你喜欢
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 2015-08-11
      • 2018-09-12
      相关资源
      最近更新 更多