Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сериализация больших массивов на WCF, Чтобы не выдавало ошибку 400 
:(
    Опции темы
Dark Elf
Дата 9.10.2011, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 26.12.2003
Где: Брисбен

Репутация: нет
Всего: 10



Добрый день

У меня следующий вопрос.

Есть массив байтов который нужно передать WCF сервису (сервис тоже пишу я).

Если урезать массив байтов например до 10000 (десяти тысяч) элементов то передаётся без проблем.

Если же передавать массив как он есть (а его (byte[]).Length может быть и 500000 элементов) то выдаётся ошибка 400.

Не подскажете что можно подкрутить на клиенте/сервисе чтобы решить проблему?

Заранее благодарен за ответ

Это сообщение отредактировал(а) Dark Elf - 10.10.2011, 09:37


--------------------
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
starostin
Дата 11.10.2011, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.9.2009
Где: Ярославль

Репутация: 1
Всего: 1



stream ReturnStream = new Stream(byte[] NameArrByte);
return ReturnStream;

Если эти байты это файл, то 
stream ReturnStream = new Stream(File.ReadAllBytes(fullnamefile));
return ReturnStream;

соответственно на стороне клиента и принимать надо stream а не byte[]

Всё дело в том что ты пытаешся передать пакет, а твой массив в него не входит, поэтому надо передавать поток.
P.S. возможно stream надо поменять на MemoryStream
PM MAIL ICQ Skype GTalk Jabber MSN   Вверх
jonie
Дата 12.10.2011, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 15
Всего: 118



надо в behavior сервиса прописать сколько позволено сериализовать.
Код

.....
    <behaviors>
      <serviceBehaviors>
        <behavior name="SecuredBehavior">
          <dataContractSerializer maxItemsInObjectGraph="409600"/>
....          
        </behavior>
      </serviceBehaviors>
    </behaviors>
...



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.