Получение следующей записи из веб-сервиса - PullRequest
0 голосов
/ 30 июля 2010

У меня очень раздражающая проблема. Я работаю со списком документов, но он слишком велик для правильной работы веб-службы. По сути, это простая настройка:

  1. Инфраструктура сущностей охватывает таблицу, которая содержит тысячи больших файлов XML в виде текстовых полей с дополнительными данными. (1 ГБ в данных.)
  2. Служба DataServiceHost REST охватывает этот объект документа для отправки данных клиентскому приложению.
  3. Клиентское приложение вызывает службу REST для получения документов.

Я не могу изменить код сервера / службы. Все, с чем я могу работать, это клиент. И клиент легко подключается к этому REST / веб-сервису и может извлекать данные. Но при доступе к документам, которые он сохранил, у меня возникают проблемы, скорее всего, потому что он пытается отправить весь список с сервера на клиент. И 1 ГБ данных это слишком много. Итак, сервис называется XMLData, данные - DocumentEntity. Что-то вроде:

foreach (DocumentEntity Document in XMLData.Documents)
{
    DoSomething(Document);
}

Сбой, так как сначала загружаются все документы. Затем происходит сбой с «Ссылка на объект не установлена ​​на экземпляр объекта». возможно, потому что время ожидания сервера или что-то еще. Делать то же самое с другой таблицей / объектом на том же сервере просто отлично работает. Теперь, используя XMLData.Documents.First (), я могу получить доступ к первой записи без каких-либо проблем. Но как мне сказать системе получить следующий? Таким образом, я могу перебирать все документы один за другим ...

И снова я не могу изменить сервисный код. Только клиентский код. Услуга зафиксирована в производстве.

1 Ответ

1 голос
/ 30 июля 2010

Полагаю, XMLData.Documents - это какая-то коллекция.Вы пробовали XMLData.Documents.Skip(N).Take(1);?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...