拦截WCF中的反序列化错误

时间:2014-02-06 17:04:36

标签: .net wcf deserialization soapfault

最近安全团队询问是否可以更改WCF服务中反序列化问题返回的消息。有问题的错误是他们拦截了消息并传递了一个超出Int32范围的整数。

  

无法将值“2147483649”解析为“Int32”类型。

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

1 个答案:

答案 0 :(得分:4)

听起来你有includeExceptionDetailInFaults =“true”。 True是在执行生产部署之前应设置为false的默认值。一旦这是错误的,您将收到一般错误消息。这应该足以让安全感到高兴。

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