2011-09-30 66 views
0

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

发送状态对象(ID,StateCode,StateName)或DataSet的列表?

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

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

试图通过切换到良好的编码实践来发展成为一名优秀的开发人员。

+0

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

回答

1

数据集泄漏平台详细信息。数据集是微软的实现,当你通过一个服务公开它时,那些使用相同平台的客户端只能使用该服务。这基本上使您的服务仅在针对整个服务点的微软平台上消耗殆尽。其他的事情是,当序列化数据集包含大量的无关数据的客户端,如数据信息等。

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

相关问题