【问题标题】:Error in deserializing body of reply message for operation '反序列化操作的回复消息正文时出错'
【发布时间】:2014-09-23 07:33:05
【问题描述】:

当我尝试为 person 设置一些值时,我在反序列化回复消息正文以进行操作时遇到错误。

public DataRow[] person;
person = ((DataTable)wcf.getPerson(id)).Select();

get person 函数在 WCF 服务中,它是[OperationContract]

public DataTable getPerson(int id)
{
    DataTable tab = new DataTable();
    tab.TableName = "tt";
    for (int i = 0; i < data.Count; i++)
    {
        if(data[i].id == id)
        {
            for (int j = 0; j < data[i].person.Count(); j++)
            {                        
                tab.ImportRow(data[i].person[j]);
            }
        }
    }
    return tab;
}

【问题讨论】:

  • 您能提供回复消息的正文吗?
  • for(int j... 周围的括号是什么?好像你不见了,如果在你的 data[i].id == id 上?
  • 这就是你的意思。 mscorlib.dll 中出现“System.ServiceModel.CommunicationException”类型的未处理异常附加信息:反序列化操作“getPerson”的回复消息正文时出错。
  • 它进入 'data[i].id == id' if 语句并且括号在 'for ( int j' 周围,因为这是我遵循的标准。
  • if 丢失了,因为我忘了粘贴 if(我是白痴)它是原始代码

标签: c# wcf


【解决方案1】:

我修复了它我必须转换为数据集并发送它而不是使用 dataTable 然后我在收到它后从集合中获取表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    相关资源
    最近更新 更多