У меня очень раздражающая проблема. Я работаю со списком документов, но он слишком велик для правильной работы веб-службы. По сути, это простая настройка:
- Инфраструктура сущностей охватывает таблицу, которая содержит тысячи больших файлов XML в виде текстовых полей с дополнительными данными. (1 ГБ в данных.)
- Служба DataServiceHost REST охватывает этот объект документа для отправки данных клиентскому приложению.
- Клиентское приложение вызывает службу REST для получения документов.
Я не могу изменить код сервера / службы. Все, с чем я могу работать, это клиент. И клиент легко подключается к этому REST / веб-сервису и может извлекать данные. Но при доступе к документам, которые он сохранил, у меня возникают проблемы, скорее всего, потому что он пытается отправить весь список с сервера на клиент. И 1 ГБ данных это слишком много.
Итак, сервис называется XMLData, данные - DocumentEntity. Что-то вроде:
foreach (DocumentEntity Document in XMLData.Documents)
{
DoSomething(Document);
}
Сбой, так как сначала загружаются все документы. Затем происходит сбой с «Ссылка на объект не установлена на экземпляр объекта». возможно, потому что время ожидания сервера или что-то еще. Делать то же самое с другой таблицей / объектом на том же сервере просто отлично работает.
Теперь, используя XMLData.Documents.First (), я могу получить доступ к первой записи без каких-либо проблем. Но как мне сказать системе получить следующий? Таким образом, я могу перебирать все документы один за другим ...
И снова я не могу изменить сервисный код. Только клиентский код. Услуга зафиксирована в производстве.