Как использовать потоковую передачу со службами WCF, возвращающими большой набор данных? - PullRequest
2 голосов
/ 18 июля 2011

Я довольно новичок в WCF и пытаюсь выяснить, как работает потоковая передача. У меня в основном есть веб-сервис, который должен возвращать некоторую информацию из базы данных. Возвращаемые данные потенциально очень велики. Мне было интересно если бы кто-нибудь мог указать хороший пример того, как это делается. Если я правильно понимаю вещи, мой метод веб-службы должен возвращать объект потока. Но как мне на самом деле передать данные в поток? Это просто вопрос сериализации каждого объекта и записи его в поток? Если да, то как именно будет выполнена сериализация? Еще раз, простой пример был бы очень признателен.

Ответы [ 2 ]

3 голосов
/ 18 июля 2011

Вы должны просто установить для свойства Binding TransferMode значение Streamed и работать со своими службами WCF, как вы это делаете. Инфраструктура WCF выполнит всю работу автоматически.

Вот еще одна полезная ссылка:

Потоковая передача сообщений

0 голосов
/ 19 июля 2011

На самом деле, я бы пересмотрел архитектуру, поскольку возвращение больших наборов результатов из любого сервиса (WCF, ASMX и т. Д.) - это запах архитектуры.

Существует очень мало приемлемых причин для возврата больших наборов результатов из сервиса.,Сочетание большего / лучшего фильтрования и реализации pagine - это решение.Если вы просто помещаете простой вид обслуживания в свою базу данных, посмотрите на WCF Data Services, так как фильтрация и разбиение на страницы встроены прямо в структуру.В противном случае, посмотрите на службы данных WCF, чтобы увидеть, что они делают и подражают вашему сервису.

...