Лучшая практика для обработки большого импорта по WCF? - PullRequest
2 голосов
/ 11 января 2011

У меня были некоторые проблемы при внедрении, например. процедура импорта, которая анализирует файлы на клиенте silverlight и отправляет огромное количество объектов в службу WCF с использованием basicHttpBinding.

Я установил для maxBufferSize, maxRecieveSize и т. Д. Максимальные значения, но если я сам не собрал в единое целое коллекцию объектов в коде и не сделал несколько вызовов, это просто провалилось.

Так что мне интересно, есть ли у кого-нибудь из вас опыт использования хороших способов выполнения вызовов с огромными коллекциями объектов?

Ответы [ 2 ]

2 голосов
/ 13 января 2011

То же самое случилось с моей командой ... за исключением того, что мы не работали в SL, мы были в WPF.

Я знаю, что это не самый очаровательный способ, но моя команда и я имеемтакже имел большой успех, взяв текстовый файл, преобразовав его в байтовый массив и затем отправив байтовый массив по проводам.Оказывается, что WCF чрезвычайно эффективен с массивом байтов.

Чтобы прочитать файл, мы делаем это на клиенте:
fileByteArray = File.ReadAllBytes(fileLocation);

А затем наш интерфейс службыВыглядело это так: [ServiceContract]<br> public class IImport<br> {<br> [OperationContract]<br> BulkResults ImportFromFile(byte[] importFile);<br> }

Мы также попробовали подход Buffered / Streamed и переключили все наши сервисы на потоковую передачу.Это также помогло с потреблением памяти.

2 голосов
/ 12 января 2011

Кристиан, у меня был хороший опыт игры с TransferMode. Это buffered по умолчанию. Изменение на StreamedResponse в моем случае позволило мне возвращать большой набор данных без больших затрат памяти.

Подробнее здесь:

  1. http://msdn.microsoft.com/en-us/library/system.servicemodel.transfermode.aspx

  2. http://blogs.msdn.com/b/carlosfigueira/archive/2010/07/08/using-transfermode-streamedresponse-to-download-files-in-silverlight-4.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...