2009-11-02 58 views
5

是否有从.NET Web服务返回(或不是返回数据集)的最佳做法?一个阵营表示,我们应该提高互操作性,并使用XML模式来定义Web服务负载,另一个阵营表示我们应该返回数据集,因为它在Visual Studio中很简单,并且可以更快地完成工作。要返回Web服务中的数据集吗?

在防数据集阵营的一些参数:

  • 数据集是不是WSI兼容
  • 数据集似乎很少通过第三方软件来支持

在亲数据集的一些参数阵营:

  • 他们是非常方便和快速的建立在Visual Studio中。
  • 我们(我公司)只开发在.NET这样的互操作性不是问题,在客户端
  • 数据集具有优势,易于使用的

回答

3

使用数据集?我会说一千次不。它们与其他工具包无法互操作(如您所提及的)。当然,你现在唯一的消费者是.NET,但事情可以很快改变,很高兴能够做好准备。

查看The XML Files的一些阅读。

此外,如果您正在开发新服务,请使用WCF编写它们。然后,你可以暴露他们,但你想要的。如果服务和消费者是内部的并且都是.NET,那么您可以使用TCP绑定来获得更好的性能。之后,当其他人想要与您的服务进行通信时,您可以添加新的Web服务绑定,以便他们的Java应用程序(例如)可以与您的服务进行互操作。请参阅Choosing the right WCF binding以获取便利的流程图。

1

我将在训练营,你不应该发送它,但这是根据对贵公司而言重要的事情做出的决定。

如果您设计一个基本上是公司和客户之间的合同的web服务API。因此,该公司的一些人可能会开始将此API用于关键任务操作。

然后你得到一个请求,让它在黑莓上工作。现在您必须更改Web服务,这可能会破坏其他应用程序,导致涟漪效应。因此,如果你确定你永远不需要支持.NET以外的其他平台,那么你可以选择第一个选项。

0

我会去没有数据集(就像这里的大多数社区)。像James说的那样,你永远不能确定你的服务只会被.NET应用程序所使用。网络服务的主要原因是,如果您创建了正确的网络服务,那么这是一项可供所有技术使用的标准。数据集也打破了领域驱动设计和图层分离的想法,因此它们在开始时就不那么吸引。 我只使用他们需要被快速和肮脏的演示;)

如果你真的想开发(IDE中),并且仍然与所有的标准进行接轨,考虑建立你的服务的“易”的方式WCF。