为什么我应该使用Object而不是DataSet作为WCF方法的返回类型?

为什么我应该使用Object而不是DataSet作为WCF方法的返回类型?,object,dataset,return-type,wcf,Object,Dataset,Return Type,Wcf,我听到一些人说,将DataSet作为WCF方法的返回类型返回不是一个好的做法。如果使用DataSet作为方法的返回类型,会出现什么问题?使用对象列表而不是数据集的优点是什么 发送状态对象(ID、状态代码、状态名称)或数据集的列表 一位朋友告诉我,将DataSet作为返回类型有一个优势。如果明天客户说(假设我发布了该服务,一些外部客户正在使用该服务),我的客户说我需要关于该对象的更多信息(例如:需要关于状态的“注释”字段),我不需要更改合同的签名。我只是将注释添加到我的数据集中。这不会破坏任何现有

我听到一些人说,将DataSet作为WCF方法的返回类型返回不是一个好的做法。如果使用DataSet作为方法的返回类型,会出现什么问题?使用对象列表而不是数据集的优点是什么

发送状态对象(ID、状态代码、状态名称)或数据集的列表

一位朋友告诉我,将DataSet作为返回类型有一个优势。如果明天客户说(假设我发布了该服务,一些外部客户正在使用该服务),我的客户说我需要关于该对象的更多信息(例如:需要关于状态的“注释”字段),我不需要更改合同的签名。我只是将注释添加到我的数据集中。这不会破坏任何现有合同

我听说如果我使用dataset会出现性能问题?这种影响有多大?还有什么问题?为什么人们写数据集是邪恶的


通过转换到良好的编码实践,努力发展成为一名优秀的开发人员

数据集泄漏平台详细信息。数据集是microsoft实现,当您通过服务公开该数据集时,使用与所公开数据相同平台的客户端只能使用该服务。这基本上使您的服务只能在microsoft平台上使用,这与服务的整个要点背道而驰。另一件事是,序列化后的数据集包含大量与客户机无关的数据,如datarelations等


关于您的“Notes”示例,当您定义服务时,边界应该是明确的。因此,外部世界必须知道您通过服务发送的数据类型及其结构。

我相信这个网站是一个很好的学习资源。我惊讶地看到这个问题已经结束。我问了一个问题,想知道我应该使用哪种编码实践。我相信这个网站的全部想法是分享信息,引导人们成为更好的程序员。我真的希望,如果有人能给出正确的答案,而不是结束这个问题。我真的不明白为什么这个问题不能有“事实”或“具体经验”类型的答案!!!我在寻找“特定的专业知识来纠正我自己。我是新手!