PDA

View Full Version : WCF Service e MaxReceivedMessageSize


robertino_salemi
06-05-2014, 11:32
Salve a tutti,
sto utilizzando un WCF Service per leggere i miei dati dal DB.

Quando provo però a farmi inviare un DataTable ottendo:
"È stata superata la quota massima delle dimensioni per i messaggi in ingresso (65536). Per aumentare la quota, utilizzare la proprietà MaxReceivedMessageSize nell'elemento associazione appropriato."

Così nel web.config del VCF service ho inserito un custom bindings:

<bindings>
<customBinding>
<binding name="customBinding0">
<binaryMessageEncoding />
<!-- Start change -->
<httpTransport maxReceivedMessageSize="2097152"
maxBufferSize="2097152"
maxBufferPoolSize="2097152"/>
<!-- Stop change -->
</binding>
</customBinding>
</bindings>

all'interno di <system.serviceModel>.

Nel file app.config del mio 'Engine' ho modificato il app.config in:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="customBinding0" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/MyProject/Service.svc"
binding="basicHttpBinding" bindingConfiguration="customBinding0"
contract="ServiceReference.IService" name="customBinding0" />
</client>
</system.serviceModel>
</configuration>


ma ottengo ugualmente errore.

Cosa sbaglio?

Grazie.

tomminno
07-05-2014, 08:36
Prova aggiungendo readerQuotas:

<binding name="customBinding0"
maxBufferPoolSize="2147000000" maxBufferSize="2147000000" maxReceivedMessageSize="2147000000">
<readerQuotas maxDepth="32" maxStringContentLength="2147000000"
maxArrayLength="2147000000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binding>

robertino_salemi
07-05-2014, 13:50
Grazie,
al momento ho risolto riducendo la dimensione del datatable (invio molti dati inutili).

Se il problema di dovesse ripresentare proverò il codice da postato.

Grazie comunque! ;)