如何在返回大型数据集的WCF服务中使用流?

时间:2011-07-18 18:27:25

标签: wcf streaming large-data

我是WCF的新手,我正在试图弄清楚流是如何工作的。我基本上有一个Web服务应该从db返回一些信息。返回的数据可能非常大。我想知道如果有人能够指出这是如何完成的一个很好的例子。如果我正确理解事物,我的Web服务方法应该返回一个流对象。但是我如何实际将数据传递给流?是仅仅将每个对象序列化并将其写入流中?如果是这样,序列化将如何完成?再一次,非常感谢一个简单的例子。

2 个答案:

答案 0 :(得分:3)

您应该将Binding的TransferMode属性设置为Streamed值,并像处理WCF服务一样使用。 WCF基础架构将自动完成所有工作。

这是一个更有用的链接:

Streaming Message Transfer

答案 1 :(得分:0)

实际上,我已经恢复了体系结构,因为从任何服务(WCF,ASMX等)返回大型结果集都是一种架构气味。

从服务返回大型结果集的可接受原因很少。更多/更好的过滤和实施pagine的组合是解决方案。如果您只是在数据库上放置一个简单的服务胶合代码,请查看WCF数据服务,因为筛选和分页都内置在框架中。否则,请查看WCF数据服务以查看它们正在执行的操作并模拟您的服务。