2009-06-17 3 views
34

Я заметил, что 2147483647 кажется популярным выбором для maxReceivedMessageSize, но это лимит?Каков максимальный размер maxReceivedMessageSize для NetNamedPipeBinding?

+3

С другой стороны, вы можете рассмотреть вопрос о том, что установить его в 2 ГБ размера сообщения означает, что ваш сервер WCF потенциально должен иметь дело с несколькими сообщениями объемом до 2 ГБ одновременно - может это сделать? Marc –

+0

Это если у вас есть 32-битный сервер ... – Chad

ответ

38

Нет, предел Int64.MaxValue1 который: 9223372036854775807

+0

Отличная статья спасибо – Nick

+7

В файле web.config работает только предел Int32. Возможно, это проблема синтаксического анализа. – marsze

+0

При настройке этого значения с помощью кода я получаю исключение 'ArgumentOutOfRange' для этого параметра. – BartoszKP

1

MaxReceivedMessageSize и MaxBufferSize необходимо такое же значение и MaxBufferSize является Int32.

+10

Неверно - MaxBufferSize используется, только если вы используете буферизацию. Если вы используете Streaming, он игнорируется. Вот почему MaxReceivedMessageSize является Int64 и может отличаться от MaxBufferSize. –

+0

Вы имеете в виду maxBufferPoolSize и maxReceivedMessageSize? – Gary

+0

BasicHttpBinding MaxBufferSize - Int32, но MaxReceivedMessageSize - Int64. http://msdn.microsoft.com/en-us/library/system.servicemodel.basichttpbinding.maxbuffersize%28v=vs.100%29.aspx –

8

MaxMessageReceivedSize в BasicHttpBinding, как представляется, int32 - установка его на максимальное значение какого-либо результатов Int32 в:

Этот завод буферов сообщений, поэтому размеры сообщений должны быть в диапазоне от целого значения. Имя Параметр: bindingElement.MaxReceivedMessageSize

+0

Нет, это Int64 (long): http://msdn.microsoft. com/en-us/library/system.servicemodel.basichttpbinding.maxreceivedmessagesize% 28v = vs.100% 29.ASPX –

+0

@ D-Money - я предполагаю, что это зависит от сервера ... – Chad

0

Используйте значения по умолчанию для максимального размера, чтобы один не толстым пальцем значение:

binding.MaxBufferSize   = int.MaxValue; 
binding.MaxReceivedMessageSize = long.MaxValue; 
+1

Как вы это делаете в web.config? – Zesty

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