为什么我们不能一起使用SetEntitySetPageSize和MaxResultsPerCollection?

时间:2011-04-15 22:00:57

标签: odata wcf-data-services

我正在开发一个WCF数据服务,我想使用SetEntitySetPageSize(允许服务器分页)和MaxResultsPerCollection(设置返回的最大行数)。

不幸的是,你做不到。我的问题是为什么?也许我错过了一些东西。根据某人的情况,我认为这会/可能是一个好主意?是因为我们希望OData Feed能够返回所有内容吗?

当您想要使用Silverlight应用程序或Web应用程序使用它时会发生什么。如果用户没有自己限制结果,那么他们可以使用大型结果集....也许这就是重点。最终用户要小心......?

1 个答案:

答案 0 :(得分:3)

这两个设置都是服务器上的安全/性能功能。如果限制超出,则MaxResultsPerCollection会导致服务器使请求失败。 SetEntitySetPageSize允许服务器仅返回一小部分数据,如果需要,则将其留给客户端以询问更多数据。 除了真正恶意的客户端,他们会通过许多“让我下一页”请求轰炸您的服务器,SetEntitySetPageSize几乎优于MaxResultsPerCollection。如果服务器接受无限数量的客户端请求,则有更简单的方法可以使服务器受损。 关于你的最后一个问题,我认为这取决于客户是一件好事。有些客户可能/想要处理所有数据,无论多大。那些没有的人可以随时停下来。 也许你可以描述你认为你需要两者的场景......

相关问题