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