大型查询的WCF数据服务超时

时间:2014-08-27 05:44:41

标签: timeout odata wcf-data-services

我正在开发一个自托管的WCF数据服务(OData)。正如我一直在测试这一点,我注意到我正在使用的大多数客户端应用程序(Excel,浏览器等)超时请求在我的服务中提取特定查询。查询中有大约140k条记录。应用程序在长时间查询后崩溃。

目前,唯一的解决方法是进行客户端分页,但如果我可以简单地增加限制,那么我将非常感谢答案。

请注意,我的实体模型与数据库视图而不是实际表格映射,以防它与问题有关系。

干杯!

1 个答案:

答案 0 :(得分:1)

您真的需要传输如此大量的数据吗?

我认为 OData不是数据复制协议

OData的主要优势是可以查询并因此限制要传输的数据量。

在处理大量数据的应用程序中,常见的方法是首先呈现聚合然后优化查询(例如,取决于用户做出的连续选择)。

我开发的AdaptiveLINQ组件可以帮助您实现此类服务。这基于立方体的概念:维度和度量被定义为C#表达式。

例如,可以想象一个服务来查看产品目录(包含大量数据),如下所示:

产品类别列表以及每种产品类别的可用产品数量:

http://.../catalogService?$select=Category,ItemQuantity

类别中的可用颜色列表"衬衫":

http://.../catalogService?$select=Color,ItemQuantity&$filter=Category eq shirt

"绿色衬衫列表":

http://.../catalogService?$select=ProductLabel,ProductID&$filter=Category eq shirt and Color eq green