是否可以使用WCF服务实现服务器端分页,而不是WCF数据服务

时间:2011-10-17 14:24:06

标签: .net wcf paging wcf-data-services data-paging

我一直在使用WCF进行体验,并编写了一个WCF服务来为网站提供后端。我在实现服务器端分页时遇到了一个问题,因为我发现的所有示例(例如http://msdn.microsoft.com/en-us/library/ee358711.aspx)似乎都使用DataServiceQueryContinuation和WCF数据服务。

虽然我很感激我可以写一个WCF数据服务来返回数据,但似乎更复杂的是有一个WCF服务用于登录和更新用户信息,然后是一个单独的WCF数据服务用于更大的查询/报告。

这是标准做法还是通过来自WCF服务的方法调用来分页数据的内置机制?

修改

我找到了一些可行的方法,这是一个涉及Linq的skiptake运算符的简单方法:Implementing pager through WCF service 还有一个更复杂的方法: Best practice for WCF service with large amounts of data?

我原以为可能有办法使用WCF服务来寻找数据,就像使用WCF数据服务一样:http://msdn.microsoft.com/en-us/library/ee474245.aspx

有人知道这是否可行?

1 个答案:

答案 0 :(得分:4)

我们正在使用WCF服务与我们的后端服务器进行所有通信,我们通过将简单的PaginDTO传递给具有PageSize和CurrentPageIndex等属性的方法调用来实现分页。

结果是一个PagedDTO,其中包含项目列表和有关总页数的信息。

我们使用实体框架作为我们的数据库,使用Skip / Take这很容易实现。

希望这会有所帮助:)