类型化数据集 + 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 服务返回数据集或数据表不是一个好习惯?啥是替代品?