2011-10-17 95 views
2

我一直在使用WCF实践并编写了WCF服务来为网站提供后端。我在实现服务器端分页时遇到了一个问题,因为我发现的所有示例(如http://msdn.microsoft.com/en-us/library/ee358711.aspx)都似乎使用DataServiceQueryContinuation和WCF Data Services。是否可以使用WCF服务实现服务器端分页,而不是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

任何人都知道这是可能的吗?

回答

4

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

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

我们对我们的数据库使用实体框架,并且使用Skip/Take这个实现起来非常简单。

希望这会有所帮助:)

+0

谢谢Wouter,从我的研究看,这看起来就像是做这件事的最佳方式。对于分页不如在WCF数据服务(http://msdn.microsoft.com/zh-cn/library/ee474245.aspx)中那样简单,我感到有点意外。 – GrandMasterFlush

相关问题