Le quota maximal de taille de message pour les messages entrants (65536) a été dépassé

J’obtiens cette exception tout en créant un champ d’application pour quelques tables, toutes ces tables sont énormes dans la conception

              

J’ai fait MaxReceivedMessageSize à 2147483647 mais cela me donne encore des exceptions à cette ligne

  client.GetTableDescription(scopeName, syncTable) 

Le quota maximal de taille de message pour les messages entrants (65536) a été dépassé.
Pour augmenter le quota, utilisez la propriété MaxReceivedMessageSize sur l’élément de liaison approprié.

Selon la réponse de cette question

Vous voudrez quelque chose comme ça:

        

Veuillez également lire les commentaires sur la réponse acceptée, ceux-ci contiennent des informations précieuses.

Vous devez également augmenter maxBufferSize . Notez également que vous pourriez avoir besoin d’augmenter le nombre de lecteurs .

Si vous utilisez CustomBinding, vous devriez plutôt apporter des modifications à l’élément httptransport. Définissez-le comme

...

Vous devez apporter les modifications à la configuration de liaison (dans le fichier app.config) sur le SERVEUR et le CLIENT, sinon elle ne prendra pas effet.

        

Cela a fonctionné pour moi:

  Dim binding As New WebHttpBinding(WebHttpSecurityMode.Transport) binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None binding.MaxBufferSize = Integer.MaxValue binding.MaxReceivedMessageSize = Integer.MaxValue binding.MaxBufferPoolSize = Integer.MaxValue 

Les modifications apscopes à la configuration ne m’ont pas aidé. Après a bien fonctionné tho

 private YourAPIClient GetClient() { Uri baseAddress = new Uri(APIURL); var binding = new BasicHttpBinding(); binding.MaxReceivedMessageSize = 20000000; binding.MaxBufferSize = 20000000; binding.MaxBufferPoolSize = 20000000; binding.AllowCookies = true; var readerQuotas = new XmlDictionaryReaderQuotas(); readerQuotas.MaxArrayLength = 20000000; readerQuotas.MaxSsortingngContentLength = 20000000; readerQuotas.MaxDepth = 32; binding.ReaderQuotas = readerQuotas; if (baseAddress.Scheme.ToLower() == "https") binding.Security.Mode = BasicHttpSecurityMode.Transport; var client = new YourAPIClient(binding, new EndpointAddress(baseAddress)); return client; } 

Ma solution consistait à utiliser le paramètre “-OutBuffer 2147483647” dans ma requête, qui fait partie des parameters communs. PS C:> Get-Help about_CommonParameters -Full