企业库 - 无法处理异常:'LoggingExceptionHandler'

时间:2011-10-18 15:36:44

标签: enterprise-library

我正在尝试升级到Enterprise Library 5.0并且我遇到了这个例外:

Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionHandlingException occurred
  Message=Unable to handle exception: 'LoggingExceptionHandler'.
  Source=Microsoft.Practices.EnterpriseLibrary.ExceptionHandling
  StackTrace:
       at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicyEntry.ExecuteHandlerChain(Exception ex, Guid handlingInstanceID) in e:\Builds\EntLib\Latest\Source\Blocks\ExceptionHandling\Src\ExceptionHandling\ExceptionPolicyEntry.cs:line 148
       at Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicyEntry.Handle(Exception exceptionToHandle) in e:\Builds\EntLib\Latest\Source\Blocks\ExceptionHandling\Src\ExceptionHandling\ExceptionPolicyEntry.cs:line 87
       at KTBS.Common.ServiceHelpers.LogHelper.HandleException(Exception ex) in C:\Work\ktbs\src\KTBS.Services\KTBS.Common\ServiceHelpers\LogHelper.cs:line 238
  InnerException:

有没有办法获得更多相关信息?

1 个答案:

答案 0 :(得分:1)

如果您使用自定义格式化程序记录异常,请尝试将其替换为您正在使用的EntLib版本附带的默认格式化程序(即5.0)。如果这会停止报告的异常,那么您就知道罪魁祸首是自定义格式化程序。

如果问题确实存在于自定义格式化程序中,那么我建议您转到此链接。

The EventTopicExceptionFormatter WILL work with EntLib 4.1!

这特定于CAB(复合应用程序块),但同样的修复也可以在其他地方使用。

我正在开发一个基于CAB构建的应用程序,我曾经得到了与你提到的相同的异常。它是由我使用的自定义格式化程序引起的(实际上它默认带有SCSF但基于EntLib 3.1)。更改传递给此自定义格式化程序的构造函数的参数数量可以解决问题。