将异常从WCF服务记录到Windows事件日志的最简单方法是什么?

时间:2011-03-23 20:57:49

标签: wcf exception-handling

我想将WCF服务器中的所有异常(包括序列化异常堆栈跟踪)记录到Windows事件日志中(也可以接受log4net日志记录)。

最简单的方法是什么?

特别是序列化中的所有错误,服务本身等等。现在我正在使用跟踪来在开发期间获得序列化错误。跟踪是我能找出哪个对象实际上有序列化问题的唯一方法。有关获取序列化堆栈跟踪的示例,请参阅Quickly finding WCF Serialization/Deserialization Issues

我可以处理服务代码本身的错误。但是,WCF机制中的错误不会传播到我的服务代码(如序列化错误)。

我不需要将错误发送给客户端。

我只想将错误放到一个位置(比如事件日志)。

现在(从我的研究中)看来IErrorHandler Interface带有一些自定义代码可能是最好的方法。使用IErrorHandling interace会捕获序列化异常吗?

编辑: 这可能是我正在寻找的答案: How do I create a global exception handler for a WCF Services?

我只是想确认这会捕获序列化错误,更重要的是这些错误的详细信息

更多信息: How do I create a global exception handler for a WCF Services?

1 个答案:

答案 0 :(得分:1)

是的,IErrorHandler还会捕获序列化异常。您将获得存储在异常中的所有信息。对于你来说这个细节是否足够,我不能说。

请注意,可能存在永远不会进入服务器的客户端错误(序列化和其他错误)。你不会看到那些使用IErrorHandler。