Odata 为什么可以';我们不能同时使用SetEntitySetPageSize和MaxResultsPerCollection吗?

Odata 为什么可以';我们不能同时使用SetEntitySetPageSize和MaxResultsPerCollection吗?,odata,wcf-data-services,Odata,Wcf Data Services,我正在开发一个WCF数据服务,我想同时使用SetEntitySetPageSize(允许服务器分页)和MaxResultsPerCollection(设置返回的最大行数) 不幸的是,你不能。我的问题是为什么?也许我遗漏了什么。我想这会/可能是个好主意,取决于某人的情况?是因为我们希望OData提要能够返回所有内容吗 当您想使用Silverlight应用程序或web应用程序时会发生什么。如果用户不限制自己的结果,他们可能会有一个大的结果集。。。。也许这就是重点。最终用户注意…?这两种设置都是服务器

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

不幸的是,你不能。我的问题是为什么?也许我遗漏了什么。我想这会/可能是个好主意,取决于某人的情况?是因为我们希望OData提要能够返回所有内容吗


当您想使用Silverlight应用程序或web应用程序时会发生什么。如果用户不限制自己的结果,他们可能会有一个大的结果集。。。。也许这就是重点。最终用户注意…?

这两种设置都是服务器上的安全/性能功能。如果超出限制,MaxResultsPerCollection会导致服务器请求失败。SetEntitySetPageSize允许服务器仅返回一小部分数据,如果需要,则由客户端请求更多数据。 除了那些会用许多“get me next page”请求轰炸服务器的真正恶意客户端之外,SetEntitySetPageSize比MaxResultsPerCollection要好得多。如果您的服务器接受无限数量的客户机请求,则有更简单的方法使您的服务器遭受损失。 至于你的最后一个问题,我认为这实际上是一件好事,这取决于客户。有些客户机可能能够/希望处理所有数据,无论数据有多大。不这样做的人可以随时停止。
如果您能描述一下您认为需要两者的场景…

这两种设置都是服务器上的安全/性能功能。如果超出限制,MaxResultsPerCollection会导致服务器请求失败。SetEntitySetPageSize允许服务器仅返回一小部分数据,如果需要,则由客户端请求更多数据。 除了那些会用许多“get me next page”请求轰炸服务器的真正恶意客户端之外,SetEntitySetPageSize比MaxResultsPerCollection要好得多。如果您的服务器接受无限数量的客户机请求,则有更简单的方法使您的服务器遭受损失。 至于你的最后一个问题,我认为这实际上是一件好事,这取决于客户。有些客户机可能能够/希望处理所有数据,无论数据有多大。不这样做的人可以随时停止。
如果你能描述一下你认为两者都需要的情景…

真棒的答案@vitek karas msft。这绝对有助于我理解为什么现在。谢谢@vitek karas msft-通过您描述的方式,我想不出一个对这两种情况都有意义的场景。:-)真棒的回答@vitek karas msft。这绝对有助于我理解为什么现在。谢谢@vitek karas msft-通过您描述的方式,我想不出一个对这两种情况都有意义的场景。:-)