我有一个非常恼人的问题。我正在使用一个文档列表,但它对于Web服务来说太大了,无法正确处理。基本上,这是一个简单的设置:
我无法修改服务器/服务代码。我可以与之合作的是客户。客户端可以轻松连接到此REST / Web服务,并能够检索数据。但是当访问它存储的文档时,我遇到了问题,很可能是因为它试图将整个列表从服务器发送到客户端。 1 GB的数据太多了。 因此,该服务称为XMLData,数据是DocumentEntity。类似的东西:
foreach (DocumentEntity Document in XMLData.Documents)
{
DoSomething(Document);
}
失败,因为它首先加载所有文档。然后失败,“对象引用未设置为对象的实例”。可能是因为服务器超时或者其他什么。对同一服务器上的另一个表/实体执行相同操作就可以了。 现在,通过使用XMLData.Documents.First(),我可以毫无问题地访问第一条记录。但是,如何告诉系统获取下一个系统呢?这样,我可以逐个遍历所有文档......
而且,我无法修改服务代码。只有客户端代码。该服务已在生产中修复。
答案 0 :(得分:1)
我假设XMLData.Documents
是某种集合。你试过XMLData.Documents.Skip(N).Take(1);
吗?