WCF中的拦截反序列化错误

Tom*_*ear 2 .net wcf soapfault deserialization

最近,安全团队询问我是否可以更改WCF服务中反序列化问题返回的消息。有问题的错误是当他们截取消息并传递Int32范围之外的整数时。

值“ 2147483649”不能解析为类型“ Int32”。

我的回答是,反序列化过程是在执行我的服务的一行之前发生的,这是不可能的。但是,有可能实现这一目标吗?

Ern*_*ieL 5

听起来您有includeExceptionDetailInFaults =“ true”。True是在进行生产部署之前应设置为false的默认值。一旦为假,您将收到一般错误消息。那应该足以使安全感愉快。

更好的选择是实现IErrorHandler。这是扩展点,允许您处理异常,即使该异常发生在执行到达您的服务代码之前。