2009-06-17 31 views
34

Me di cuenta de que 2147483647 parece ser una opción popular para maxReceivedMessageSize, pero ¿es este el límite?¿Cuál es el tamaño máximo que se puede establecer en maxReceivedMessageSize para NetNamedPipeBinding?

+3

Por otro lado, es posible que desee considerar que ajustarlo a 2 GB de tamaño de mensaje significa que su servidor WCF tendrá que lidiar potencialmente con varios mensajes de hasta 2 GB de tamaño simultáneamente. ¿Puede hacer eso? Marc –

+0

Es si usted tiene un servidor de 32 bits ... – Chad

Respuesta

38

No, el límite es Int64.MaxValue1 que es: 9223372036854775807

+0

Un gran artículo gracias – Nick

+7

En el archivo web.config, solo parece que el límite de Int32 funciona. Tal vez es un problema de análisis. – marsze

+0

Al establecer este valor a través del código, obtengo la excepción 'ArgumentOutOfRange' para este parámetro. – BartoszKP

1

MaxReceivedMessageSize y MaxBufferSize obligada mismo valor y MaxBufferSize es Int32.

+10

No es cierto: MaxBufferSize solo se usa si está utilizando el búfer. Si está utilizando Streaming, entonces se ignora. Esta es la razón por la cual MaxReceivedMessageSize es Int64 y puede ser diferente a MaxBufferSize. –

+0

¿Quiere decir maxBufferPoolSize y maxReceivedMessageSize? – Gary

+0

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

8

MaxMessageReceivedSize en basicHttpBinding parece ser int32 - establecer que el valor máximo de int32 resultados en:

Esta fábrica buffers de mensajes, por lo que los tamaños de los mensajes deben estar en el rango de un valor entero. Nombre Parámetro: bindingElement.MaxReceivedMessageSize

+0

No, es Int64 (largo): http://msdn.microsoft. com/en-us/library/system.servicemodel.basichttpbinding.maxreceivedmessagesize% 28v = vs.100% 29.ASPX –

+0

@ D-Money - Supongo que depende del servidor ... – Chad

0

utilizar los valores predeterminados para el tamaño máximo por lo que uno no dedo gordo un valor:

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

¿Cómo se hace esto en el web.config? – Zesty

Cuestiones relacionadas