首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF IErrorHandler.ProvideFault()行为

WCF IErrorHandler.ProvideFault()行为
EN

Stack Overflow用户
提问于 2010-11-28 04:43:41
回答 1查看 1.1K关注 0票数 4

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

代码语言:javascript
复制
<serviceDebug includeExceptionDetailInFaults="true"/>

为什么?我如何才能达到预期的行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-27 20:05:00

根据this的说法,SecurityException对于WCF来说是一种“特殊”:

SecurityException与代码访问安全相关,是一个致命的例外。由于此异常与任何服务模型异常无关,因此IErrorHandler无法处理它。

因此,我最后创建了额外的类,其中的方法(从实现服务接口的类的方法中调用)用PrincipalPermissionAttribute标记,并用try/catch标记一个处理函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4293828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档