我编写WCF服务并希望保留它的活动日志:跟踪,警告和错误消息。非常直接的方法是将所有合同服务代码包装在try/catch
部分中,并从catch
部分重新抛出服务合同错误异常中编写错误消息。
我想如果有一个代码点可以捕获所有未捕获的异常而不是几十个try/catch
部分,那将会很好。从该点编写合同方法参数以提供详细的错误信息也是有用的。
WCF可以吗?
在WCF服务中组织错误处理的最佳做法是什么?
提前谢谢!
答案 0 :(得分:4)
查看IErrorHandler界面
它允许实现者控制返回给调用者的错误消息,并可选择执行自定义错误处理,例如记录
您可以实现服务行为(请参阅IServiceBehavior界面)并将处理程序添加到ChannelDispatcher错误处理程序。
有关详细信息,请参阅WCF Exception Handling with IErrorHandler。
答案 1 :(得分:2)
这article解释了非常好不同的做法和最好的做法。很长但可能会回答你的问题。
(如果感觉懒惰,请检查理想情景)
文章网址: http://www.olegsych.com/2008/07/simplifying-wcf-using-exceptions-as-faults/
答案 2 :(得分:0)
我不确定这是否适用于WCF,但您可以尝试AppDomain.UnhandledException事件。