我在WCF应用程序中使用基于角色的安全性。我使用System.Security.Permissions.PrincipalPermissionAttribute修改了我的服务操作实现。
如果授权失败,则会引发System.Security.SecurityException(其中包含已声明的角色)。
我想记录System.Security.SecurityException的详细信息。但是,如果我实现IErrorHandler,我不会将原始的System.Security.SecurityException传递给HandleError或ProvideFault方法,而是获得System.ServiceModel.FaultException。后一个例外不包括我想记录的任何细节。
有没有办法从IErrorHandler中获取原始的System.Security.SecurityException,或者在WCF中的某处有另一个钩子来获取它?
答案 0 :(得分:1)
根据微软的说法一直在打猎:
WCF会将其过滤掉,因此您无法获得原始异常。