gpt4 book ai didi

WCF IErrorHandler.ProvideFault() 行为

转载 作者:行者123 更新时间:2023-12-04 20:36:05 24 4
gpt4 key购买 nike

我的服务方式标有PrincipalPermissionAttribute我有一个自定义 IErrorHandler附加到服务的实现。当传入的请求无权执行方法System.Security.SecurityException被抛出。 IErrorHandler.ProvideFault()然后触发,我想提供一个特殊的故障。但是error参数不是原始异常,它是无类型的 FaultException .此外,error.InnerException尽管我在配置中有以下设置,但为空:

<serviceDebug includeExceptionDetailInFaults="true"/>

为什么?我怎样才能达到预期的行为?

最佳答案

根据this SecurityException对 WCF 来说有点“特殊”:

SecurityException is related to CAS (Code Access Security), and it is a fatal exception. Since this exception is not related to any service model exceptions, it cannot be handled by IErrorHandler.



所以我最终创建了额外的类,其中方法(从实现服务接口(interface)的类的方法调用)标记为 PrincipalPermissionAttribute和一个带有 try/catch 的处理函数。

关于WCF IErrorHandler.ProvideFault() 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4293828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com