2010-01-28 3 views
1

Возможно ли вернуть устройство чтения данных из службы WCF службы api на клиент, работающий на другой машине. Используемый механизм сериализации - NetDataContractSerializer. Считыватель данных отправляется клиенту для чтения фрагментов двоичных данных из базы данных. У устройства чтения данных есть метод GetBytes(), который поддерживает chunking.Возврат открытого считывателя данных из службы WCF

Is выше предмет возможно. Что-то не так с этим подходом. Существуют ли какие-либо альтернативы для поддержки фрагментации?

+0

Спасибо за совет. Я не знал об этом. Должен ли я принять ответы, даже если они не соответствуют ожиданиям? –

ответ

1

Не имеет смысла возвращать открытый datareader из службы WCF. Пожалуйста, прочитайте ответы в this msdn forum thread.

+1

Поскольку содержимое на страницах msft иногда удаляется, это немного сокращенный ответ от dwight goins: поскольку datareader не является сериализуемым, вы не можете отправлять и получать DataReaders в качестве входных и выходных параметров, если вы не обернете его внутри класса Serializable или не используете параметры сериализации, обсуждаемые здесь: http://msdn2.microsoft.com/en-us/library/ms731073.aspx Потоковая передача данных, вы всегда можете использовать параметры привязки потоковой передачи, доступные для потоковой передачи данных из DataReader входы и выходы службы, если вы реализуете интерфейсы IDataReader и применяете соответственно кодирование потока. – surfmuggle

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