3

我有一个在 Windows 服务上运行的 WCF 服务。我希望 wcf 服务中引发的任何异常都会到达 Windows 服务,以便我可以将其写入事件日志。

我已经创建了一个实现 IErrorHandler 和 IServiceBehavior 的 ErrorHandler 类。以及一个实现 BehaviorExtensionElement 的 ErrorHandlerElement。

如何将侦听器添加到服务并在 Windows 服务中接收?

4

1 回答 1

0

你真的需要异常来访问 Windows 服务来记录它吗?通常,您希望 WCF 中的全局错误处理程序 IErrorHandler 处理异常以避免主机重新启动。

过去,我使用 EnterpriseLibrary 异常处理和日志框架 ( EntLib5 ) 来捕获和记录异常。通过使用事件日志跟踪侦听器(默认),您可以在 IErrorHandler 中记录异常,并且该异常不需要传播到 WCF 之外。

于 2013-01-13T04:51:06.303 回答