Ich bekomme diese Ausnahme, wenn ich Spielraum für wenige Tabellen erstelle. Alle diese Tabellen haben ein riesiges Design
<bindings>
<wsHttpBinding>
<binding name="wsHttpBinding_ISyncServices" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows"
proxyCredentialType="None" realm="">
<extendedProtectionPolicy policyEnforcement="Never" />
</transport>
<message clientCredentialType="Windows"
negotiateServiceCredential="true" algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
Ich habe MaxReceivedMessageSize
auf 2147483647 gemacht , aber es gibt mir immer noch unter Ausnahme in dieser Zeile
client.GetTableDescription(scopeName, syncTable)
Das maximale Kontingent für die Nachrichtengröße für eingehende Nachrichten (65536) wurde überschritten.
Verwenden Sie zum Erhöhen des Kontingents die MaxReceivedMessageSize-Eigenschaft für das entsprechende Bindungselement.
wcf
basichttpbinding
Onkar
quelle
quelle
Antworten:
Gemäß dieser Antwort auf die Frage
Bitte lesen Sie dort auch Kommentare zur akzeptierten Antwort, die wertvolle Beiträge enthalten.
quelle
Wenn Sie CustomBinding verwenden, müssen Sie lieber Änderungen am httptransport-Element vornehmen. Stellen Sie es als ein
<customBinding> <binding ...> ... <httpsTransport maxReceivedMessageSize="2147483647"/> </binding> </customBinding>
quelle
Sie müssen auch maxBufferSize erhöhen . Beachten Sie auch, dass Sie möglicherweise die readerQuotas erhöhen müssen .
quelle
maxBufferSize
muss übereinstimmenmaxReceivedMessageSize
, sonst kann ein Fehler auftreten.Sie müssen die Änderungen in der Bindungskonfiguration (in der Datei app.config) auf dem SERVER und dem CLIENT vornehmen, da sie sonst nicht wirksam werden.
<system.serviceModel> <bindings> <basicHttpBinding> <binding maxReceivedMessageSize="2147483647 " max...=... /> </basicHttpBinding> </bindings> </system.serviceModel>
quelle
Das Aktualisieren der Konfiguration hat bei mir nicht funktioniert, aber ich konnte die Bindung programmgesteuert bearbeiten:
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.MaxStringContentLength = 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; }
quelle
Das hat bei mir funktioniert:
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
quelle
Meine Lösung bestand darin, den Parameter "-OutBuffer 2147483647" in meiner Abfrage zu verwenden, der Teil der allgemeinen Parameter ist. PS C:> Get-Help about_CommonParameters -Full
quelle
Für mich wurden die Einstellungen in
web.config
/app.config
ignoriert. Am Ende habe ich meine Bindung manuell erstellt, wodurch das Problem für mich gelöst wurde:var httpBinding = new BasicHttpBinding() { MaxBufferPoolSize = Int32.MaxValue, MaxBufferSize = Int32.MaxValue, MaxReceivedMessageSize = Int32.MaxValue, ReaderQuotas = new XmlDictionaryReaderQuotas() { MaxArrayLength = 200000000, MaxDepth = 32, MaxStringContentLength = 200000000 } };
quelle