【发布时间】:2011-12-31 12:09:47
【问题描述】:
我有一个 WCF 服务,它使用企业库进行异常处理和 WCF 验证集成。他们似乎没有一起工作。
我想要的是:
- 如果我的服务抛出任何类型的异常,WCF Exception Shielding 将捕获并抛出
FaultException<MyServiceFault>。 - 如果传入消息验证失败,服务应继续抛出
FaultException<ValidationFault>。
但是,我不知道如何告诉异常屏蔽政策让验证异常通过。
我有一些企业库配置,可以将每个异常转换为FaultException<MyServiceFault>。如果我让 EnterpriseLibrary 记录它捕获的异常,它会说它得到一个
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF.FaultContractWrapperException
当验证失败时。但是,如果将此异常作为新的<exceptionType> 与None 的postHandlingAction 添加到配置中,我仍然会在验证失败时抛出FaultException<MyServiceFault>。
是否可以使用 WCF 异常屏蔽来捕获除 WCF 验证异常之外的所有异常?如果没有,我将不得不为可能引发的所有不同异常添加更多配置 - 在这种情况下,异常屏蔽的意义何在?
【问题讨论】:
标签: wcf enterprise-library enterprise-library-5