2014-09-23 25 views
0

當我嘗試爲某人設置某些值時,出現反序列化操作回覆消息正文中的錯誤。反序列化操作回覆消息正文中的錯誤'

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

獲取人功能在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; 
} 
+0

您能否提供回覆消息的正文? – athabaska 2014-09-23 07:39:32

+0

'for(int j ...'for?'括號裏面的括號是什麼意思?你好像丟失了,如果你的數據[i] .id == id'? – Noctis 2014-09-23 07:41:41

+0

這是你的意思。在mscorlib.dll中發生類型'System.ServiceModel.CommunicationException' 附加信息:對操作'getPerson'的回覆消息正文進行反序列化時出錯 – ZoomVirus 2014-09-23 07:41:46

回答

0

我解決了它我必須轉換爲數據集併發送,而不是使用dataTable然後我收到它後,從集合中的表。