2013-02-21 12 views

risposta

50

Hai bisogno di fare che il vostro legame, ma avrete bisogno di farlo su entrambi client e Server. Qualcosa di simile:

<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
      <binding maxBufferSize="64000000" maxReceivedMessageSize="64000000" /> 
     </basicHttpBinding> 
    </bindings> 
</system.serviceModel> 
+0

Grazie @ mattytommo, questo è quello che volevo. –

+0

Grazie! Funziona anche per me. Funziona anche quando fornisco questa modifica solo per il cliente. – Sergey

+0

perfetto, mi hai risparmiato un sacco di tempo :) ++ 1 –

11

Puoi farlo nel tuo app.config. così:

maxReceivedMessageSize="2147483647" 

(Il valore massimo è Int32.MaxValue)

o nel codice:

WSHttpBinding binding = new WSHttpBinding(); 
binding.Name = "MyBinding"; 
binding.MaxReceivedMessageSize = Int32.MaxValue; 

Nota:

Se il servizio è aperto al mondo, pensa alla sicurezza quando aumenti questo valore.

0

soluzione facile: Verificare se funziona per voi ..

Goto web.config

Trova legame utilizzato dal cliente.

cambiamento come,

MaxBufferSize = "2147483647" MaxReceivedMessageSize = "2147483647"

Fatto.

0

nome vincolante = "BindingName" MaxReceivedMessageSize = "2097152" MaxBufferSize = "2097152" maxBufferPoolSize = "2097152"

sul lato client e lato server

7

La risposta attualmente accettato è corretto. È NON necessario per impostare maxBufferSize e maxReceivedMessageSize sul client e sull'associazione server. Dipende!

Se la richiesta è troppo grande (ovvero, i parametri del metodo dell'operazione di servizio richiedono molta memoria) impostare le proprietà sul lato server, se la risposta è troppo grande (cioè, il valore di ritorno del metodo dell'operazione di servizio è intensiva della memoria) imposta i valori sul lato client.

Per il diverso tra maxBufferSize e maxReceivedMessageSize vedere MaxBufferSize property?.

0

Se si utilizza un personalizzato vincolante, è possibile impostare i valori in questo modo:

<customBinding> 
    <binding name="x"> 
     <httpsTransport maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" /> 
    </binding> 
</customBinding> 
0

Aprire app.config sul lato client e aggiungere MaxBufferSize e MaxReceivedMessageSize attributi, se non è disponibile

originale

<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="Service1Soap"/> 
     </basicHttpBinding> 
    </bindings> 

Dopo Modifica/Aggiornamento

<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="Service1Soap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/> 
     </basicHttpBinding> 
    </bindings>