我一直在使用WCF进行体验,并编写了一个WCF服务来为网站提供后端。我在实现服务器端分页时遇到了一个问题,因为我发现的所有示例(例如http://msdn.microsoft.com/en-us/library/ee358711.aspx)似乎都使用DataServiceQueryContinuation和WCF数据服务。
虽然我很感激我可以写一个WCF数据服务来返回数据,但似乎更复杂的是有一个WCF服务用于登录和更新用户信息,然后是一个单独的WCF数据服务用于更大的查询/报告。
这是标准做法还是通过来自WCF服务的方法调用来分页数据的内置机制?
修改
我找到了一些可行的方法,这是一个涉及Linq的skip
和take
运算符的简单方法: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
有人知道这是否可行?
答案 0 :(得分:4)
我们正在使用WCF服务与我们的后端服务器进行所有通信,我们通过将简单的PaginDTO传递给具有PageSize和CurrentPageIndex等属性的方法调用来实现分页。
结果是一个PagedDTO,其中包含项目列表和有关总页数的信息。
我们使用实体框架作为我们的数据库,使用Skip / Take这很容易实现。
希望这会有所帮助:)