2012-02-26 2 views
1

Данные, которые я пытаюсь отправить через службу WCF, представляют собой таблицу базы данных Northwind (поставщиков), которая содержит около 29 записей и уже превышает максимальную длину сообщения, которое я могу отправить. Я искал ответы, и все говорят одно и то же: увеличьте «maxRecievedMessageSize» в файле .config.«MaximumRecievedMessageSize» превышает - лучший способ справиться с этим?

Однако это кажется мне очень неправильным - оно слишком много похоже на работу, а не на решение проблемы (пример: что, если она превышает максимальную сумму, которую я могу установить тоже?). Вместо этого, есть ли способ разбить сообщение на куски? Сама услуга моделируется WSSF, поэтому мне трудно найти «где», в первую очередь, сериализуется сообщение (я не предоставляю код, поскольку WSSF предоставляет очень строгий шаблон для работы, поскольку я знаю).

Side-Note/Question: У меня есть «резервный» план, в котором я могу выполнить сохраненную команду в базе данных, которая возвращает только 10 строк данных (в указанной начальной точке при вызове функции). Однако мне пришлось бы вызвать функцию, которая делает это несколько раз. Будет ли это еще лучше, чем разбить сообщение на куски?

Приносим извинения за отсутствие отображения какого-либо кода, но я чувствую, что это только вызовет больше путаницы. Если это необходимо, я постараюсь, чтобы я постарался максимально четко решить этот вопрос. Спасибо Вам за Ваш вклад!

+0

Для операций типа запроса, возвращающих множество строк, я предоставляю свойства Skip/Take на объектах моего запроса, чтобы клиент мог контролировать пейджинг. Будет ли это работать? –

+0

Хммм, я об этом не думал! Раньше я это использовал, просто никогда не приходило в голову. Я просто ограничил результаты в своих заявлениях LINQ, но Skip/take выглядит немного чище. Спасибо! –

ответ

0

Предоставьте Skip и Take свойствам по вашему запросу объекту, позволяющему клиенту контролировать пейджинг.

Смежные вопросы