Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义WCF验证/在发生序列化异常时提供更多上下文_C#_.net_Xml_Wcf_Serialization - Fatal编程技术网

C# 自定义WCF验证/在发生序列化异常时提供更多上下文

C# 自定义WCF验证/在发生序列化异常时提供更多上下文,c#,.net,xml,wcf,serialization,C#,.net,Xml,Wcf,Serialization,我目前正在开发一个带有REST绑定的WCF服务,该服务预计将被未在.NET中开发且无法访问C#数据合同的系统访问。因此,调用方完全有可能创建会导致序列化异常的有效XML。例如,整数或日期字段可能留空或设置为null(i:nil=“true”) 我希望能够通过附加上下文向用户返回一条错误消息,确切地告诉他们XML的哪些部分无法反序列化。有没有干净的方法可以做到这一点?不幸的是,SerializationException本身不提供任何上下文。我所能想到的就是从数据连接中提取模式,并在尝试反序列化之

我目前正在开发一个带有REST绑定的WCF服务,该服务预计将被未在.NET中开发且无法访问C#数据合同的系统访问。因此,调用方完全有可能创建会导致序列化异常的有效XML。例如,整数或日期字段可能留空或设置为null(i:nil=“true”)

我希望能够通过附加上下文向用户返回一条错误消息,确切地告诉他们XML的哪些部分无法反序列化。有没有干净的方法可以做到这一点?不幸的是,SerializationException本身不提供任何上下文。我所能想到的就是从数据连接中提取模式,并在尝试反序列化之前用模式验证传入的XML。这需要我实现自定义序列化。有更好的办法吗


模式方法的一个明显警告是,它忽略了JSON。

您找到解决方案了吗?