类型化数据集 + WCF。服务正在接收空数据表

Posted

技术标签:

【中文标题】类型化数据集 + WCF。服务正在接收空数据表【英文标题】:Typed DataSet + WCF. Service is receiving empty DataTable 【发布时间】:2010-12-27 21:27:41 【问题描述】:

我正在使用类型化数据集和 WCF 服务。当我通过在 DataTable 中添加新行来调用 WCF 代理方法上的 Update 方法时,我在 Service 方法中获得了带有一行的 DataTable。这按预期工作。

但是,当我通过更新 DataTable 中的行在 WCF 代理上调用相同的 Update 方法时,我在 Service 方法中得到空的 DataTable。我检查了代理 Update 方法,并验证在调用服务方法之前,DataTable 已修改行,行版本为“已修改”。

即使代理客户端将一行数据表发送到服务,我也无法找出为什么我在服务方法中得到空数据表。有趣的是,Service 方法在通过添加新行调用 WCF 代理方法上的相同 Update 方法时接收数据。

这是我调用 Service 来更新行的方式。

ServiceClient client = new ServiceClient();
MyDataSet dataSet = client.GetContactByContactId(contactId);
MyDataSet.MyDataTable contactTable = MyDataSet.MyDataTable;
MyDataSet.ContactTableRow row = contactTable[0];
row.FirstName = "ABC";
return client.UpdateContact(contactTable);

【问题讨论】:

你能显示UpdateContact方法的定义吗? 【参考方案1】:

我不知道答案,当方法返回 DataSet 但想法很糟糕时,行为很奇怪:Returning DataSets from WebServices is the Spawn of Satan and Represents All That Is Truly Evil in the World

【讨论】:

以上是关于类型化数据集 + WCF。服务正在接收空数据表的主要内容,如果未能解决你的问题,请参考以下文章

为啥从 WCF 服务返回数据集或数据表不是一个好习惯?啥是替代品?

在 WCF 服务中传输大量数据

将 JSON 数组发布到 WCF Rest 服务会导致空参数。数据合同?

WCF服务接收空请求

找不到 WCF 数据服务类型

从 WCF 服务返回的 JSON 数据包含转义字符