C# 处理无效UTF-8字节所需的操作

C# 处理无效UTF-8字节所需的操作,c#,wcf,serialization,utf-8,utf-16,C#,Wcf,Serialization,Utf 8,Utf 16,我们面临的问题是从应用程序的事件日志中识别出来的,这个错误是不可复制的。错误是这样的: public ResponseClass MethodName(RequestClassName genUpdateObj) { //Service operations } System.ServiceModel.Dispatcher.NetDispatcherFaultException:格式化程序在尝试反序列化消息时引发异常:尝试反序列化参数时出错http://WebsiteName/:gen

我们面临的问题是从应用程序的事件日志中识别出来的,这个错误是不可复制的。错误是这样的:

public ResponseClass MethodName(RequestClassName genUpdateObj)
{
    //Service operations
}
System.ServiceModel.Dispatcher.NetDispatcherFaultException:格式化程序在尝试反序列化消息时引发异常:尝试反序列化参数时出错http://WebsiteName/:genUpdateObj. InnerException消息为“反序列化NameSpaceName.RequestClassName类型的对象时出错。”ڵj��D�F�' 包含无效的UTF8字节。“。有关更多详细信息,请参阅InnerException。-->System.Runtime.Serialization.SerializationException:反序列化NamespaceName.ClassName类型的对象时出错。'ڵj��D�F�' 包含无效的UTF8字节。-->System.Xml.XmlException:'ڵj��D�F�' 包含无效的UTF8字节。-->System.Text.DecoderFallbackException:无法将索引3处的字节[FC]从指定的代码页转换为Unicode。

将请求对象反序列化为WCF服务协定方法的类对象时出错。我们有如下WCF运营合同:

public ResponseClass MethodName(RequestClassName genUpdateObj)
{
    //Service operations
}
类的
RequestClassName
string
属性之一似乎具有无效的UTF-8字符。
我需要一些帮助,以便在我们的服务器端WCF服务中启动一些良好的预防性代码机制。

您有自定义序列化吗?此神秘字符背后的真实类名是什么?不,我们没有任何自定义序列化,请求类名是
MachineUpdate
具有字符串属性
MachineName
,此属性确实包含一些无效的UTF-8字符集。我在异常消息中添加的那个些字符,我认为
替换为无效字符。您所说的“此属性确实包含一些无效的UTF-8字符集”到底是什么意思?如果你在服务器端有一个字符串对象,你应该准确地找出其中的内容。@jonsket不,我们没有请求对象,这可能不是真的,但看看只有我才能预测的异常。可能的问题和解决方案是什么?我真的不知道,但如果可能的话,我会先在服务器端添加日志记录。您有自定义序列化吗?此神秘字符背后的真实类名是什么?不,我们没有任何自定义序列化,请求类名是
MachineUpdate
具有字符串属性
MachineName
,此属性确实包含一些无效的UTF-8字符集。我在异常消息中添加的那个些字符,我认为
替换为无效字符。您所说的“此属性确实包含一些无效的UTF-8字符集”到底是什么意思?如果你在服务器端有一个字符串对象,你应该准确地找出其中的内容。@jonsket不,我们没有请求对象,这可能不是真的,但看看只有我才能预测的异常。可能的问题和解决方案是什么?我真的不知道,但如果可能的话,我会从在服务器端添加日志开始。