我有一个在 Windows 服务上运行的 WCF 服务。我希望 wcf 服务中引发的任何异常都会到达 Windows 服务,以便我可以将其写入事件日志。
我已经创建了一个实现 IErrorHandler 和 IServiceBehavior 的 ErrorHandler 类。以及一个实现 BehaviorExtensionElement 的 ErrorHandlerElement。
如何将侦听器添加到服务并在 Windows 服务中接收?
我有一个在 Windows 服务上运行的 WCF 服务。我希望 wcf 服务中引发的任何异常都会到达 Windows 服务,以便我可以将其写入事件日志。
我已经创建了一个实现 IErrorHandler 和 IServiceBehavior 的 ErrorHandler 类。以及一个实现 BehaviorExtensionElement 的 ErrorHandlerElement。
如何将侦听器添加到服务并在 Windows 服务中接收?
你真的需要异常来访问 Windows 服务来记录它吗?通常,您希望 WCF 中的全局错误处理程序 IErrorHandler 处理异常以避免主机重新启动。
过去,我使用 EnterpriseLibrary 异常处理和日志框架 ( EntLib5 ) 来捕获和记录异常。通过使用事件日志跟踪侦听器(默认),您可以在 IErrorHandler 中记录异常,并且该异常不需要传播到 WCF 之外。