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



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

现在,唯一的解决方案是进行客户端分页,但如果我能简单地增加限制,那么我将非常感谢您的回答。

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

干杯!

您真的需要传输这么大的数据吗?

我认为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

相关内容

  • 没有找到相关文章