在WCF中分页传输数据(Duplex方式) - lhzyn的专栏

时间:2008-04-01 22:27:48   来源:   作者:

我们在开发WCF应用的过程中,经常碰见数据量太大无法传输的问题,有时可以通过在数据库中分页查取解决,但有时又必须一次性查询出所有数据发送到Client端,我们可以修改WCF配置,但这不是个根本的解决办法。例如,我们需要在客户端生成一个节点太多的树。经过研究发现可以采用多种方式解决这个问题,本文论述的是基于简单三层架构采用WCF的Duplex方式分页传输大量数据。
我们的Service要实现如下功能,可以将某次大批量的查询结果自动分页返回到客户端,可以在返回过程报告进度。

首先看看数据的获得,为了增加通用性,我们假设某查询需要某个类型的实例作为参数,返回的是某个类型的IList。这样可以为实际执行查询的类定义一个接口如下:

http://www.cnjiaocheng.com

using System;
using System.Collections.Generic;
using System.Text;
namespace BNCommonPlus.ServiceHelper http://www.cnjiaocheng.com
{ 来源中国教程网
   
public interface IDALQueryDataListByPar<TResult,TPar>
   
{

http://www.cnjiaocheng.com


        IList
<TResult> GetDataByPar(TPar par);
   }

}