安全团队最近问我是否可以更改从 WCF 服务中的反序列化问题返回的消息。有问题的错误是他们拦截了消息并传递了一个超出 Int32 范围的整数。
The value '2147483649' cannot be parsed as the type 'Int32'.
我的回答是,反序列化过程发生在我的单行服务执行之前,这是不可能的。然而,这个目标有可能实现吗?
最佳答案
听起来你有 includeExceptionDetailInFaults =“真”。 True 是在进行生产部署之前应设置为 false 的默认值。一旦这是错误的,您将收到一条通用错误消息。这应该足以让安全人员满意。
一个更好的选择是实现 IErrorHandler .这是允许您处理异常的扩展点,即使它发生在执行到达您的服务代码之前。
关于.net - 拦截 WCF 中的反序列化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21609369/