Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将WCF服务中的异常记录到Windows事件日志的最简单方法是什么?_Wcf_Exception Handling - Fatal编程技术网

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

将WCF服务中的异常记录到Windows事件日志的最简单方法是什么?,wcf,exception-handling,Wcf,Exception Handling,我想将WCF服务器中的所有异常(包括序列化异常堆栈跟踪)记录到Windows事件日志中(也可以接受log4net日志记录) 最简单的方法是什么 特别是序列化中的所有错误,服务本身中的错误,等等。现在我正在使用跟踪来获取开发过程中的序列化错误。跟踪是我发现什么对象实际上存在序列化问题的唯一方法。有关获取序列化堆栈跟踪的示例,请参见 我可以处理服务代码本身的错误。但是,WCF机制中的错误不会传播到我的服务代码(如序列化错误) 我不需要将错误发送给客户端 我只想将错误放在一个位置(如事件日志) 现在(

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

最简单的方法是什么

特别是序列化中的所有错误,服务本身中的错误,等等。现在我正在使用跟踪来获取开发过程中的序列化错误。跟踪是我发现什么对象实际上存在序列化问题的唯一方法。有关获取序列化堆栈跟踪的示例,请参见

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

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

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

现在(从我的研究中)看来,使用一些自定义代码进行测试可能是最好的方法。使用IErrorHandlingInterace会捕获序列化异常吗

编辑: 这可能就是我想要的答案:

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

更多信息:

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


请注意,可能存在客户端错误(序列化和其他错误),这些错误永远不会发送到服务器。您将看不到使用IErrorHandler的程序。

客户端可以。到目前为止,这很容易解决。困难的问题是隐藏在WCF中的异常错误,我无法在没有跟踪的情况下获取这些错误)。@telewin您知道当客户端向int32字段发送字符串时,是否可以捕获异常吗?在我的测试中,这是不可能的,但你可能比我更清楚