2009-06-17 10 views
34

J'ai remarqué que 2147483647 semble être un choix populaire pour maxReceivedMessageSize mais est-ce la limite?Quelle est la taille maximale de maxReceivedMessageSize pour un NetNamedPipeBinding?

+3

D'autre part, vous pouvez considérer que la mise à 2 Go de taille de message signifie que votre serveur WCF aura potentiellement à traiter plusieurs messages de taille maximale de 2 Go simultanément - peut-il le faire? Marc –

+0

C'est si vous avez un serveur 32 bits ... – Chad

Répondre

38

Nope, la limite est Int64.MaxValue1 qui est: 9223372036854775807

+0

Grand article merci – Nick

+7

Dans le fichier web.config, seule la limite Int32 semble fonctionner. Peut-être que c'est un problème d'analyse. – marsze

+0

Lors de la définition de cette valeur par le code, j'obtiens une exception 'ArgumentOutOfRange' pour ce paramètre. – BartoszKP

1

MaxReceivedMessageSize et MaxBufferSize doit même valeur et MaxBufferSize est Int32.

+10

Non true - MaxBufferSize n'est utilisé que si vous utilisez Buffering. Si vous utilisez Streaming, il est ignoré. C'est pourquoi MaxReceivedMessageSize est Int64 et peut être différent de MaxBufferSize. –

+0

Voulez-vous dire maxBufferPoolSize et maxReceivedMessageSize? – Gary

+0

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

8

MaxMessageReceivedSize en basicHttpBinding semble être un int32 - le mettre sur la valeur maximale d'un résultat de int32 dans:

Cette usine messages tampons, de sorte que la taille des messages doivent être dans la gamme d'une valeur entière. Nom du paramètre: bindingElement.MaxReceivedMessageSize

+0

Non, c'est Int64 (long): http://msdn.microsoft. com/fr-fr/library/system.servicemodel.basichttpbinding.maxreceivedmessagesize% 28v = vs.100% 29.ASPX –

+0

@ D-Money - Je suppose que cela dépend du serveur ... – Chad

0

Les valeurs par défaut pour la taille maximale si l'on fait pas gros doigt une valeur:

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

Comment faites-vous cela dans le web.config? – Zesty

Questions connexes