Comment augmenter les paramètres maxReceivedMessageSize et maxBufferSize dans le fichier app.config à 2000000 avant d'exécuter l'application.
Vous devez le faire sur votre liaison, mais vous devez le faire sur les deux Client et Serveur. Quelque chose comme:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxBufferSize="64000000" maxReceivedMessageSize="64000000" />
</basicHttpBinding>
</bindings>
</system.serviceModel>
Vous pouvez le faire dans votre app.config. comme ça:
maxReceivedMessageSize="2147483647"
(La valeur maximale est Int32.MaxValue
)
Ou en code:
WSHttpBinding binding = new WSHttpBinding();
binding.Name = "MyBinding";
binding.MaxReceivedMessageSize = Int32.MaxValue;
Note:
Si votre service est ouvert au monde entier, pensez à la sécurité lorsque vous augmentez cette valeur.
La réponse actuellement acceptée est incorrecte. Il est [~ # ~] et non [~ # ~] requis pour définir maxBufferSize
et maxReceivedMessageSize
sur le client et la liaison du serveur. Ça dépend!
Si votre demande est trop volumineuse (les paramètres de méthode de l'opération de service nécessitent beaucoup de mémoire), définissez les propriétés côté serveur, si la réponse est trop volumineuse (la valeur de retour de la méthode de l'opération de service nécessite beaucoup de mémoire), définissez les valeurs côté client.
Pour la différence entre maxBufferSize
et maxReceivedMessageSize
, voir propriété MaxBufferSize? .
Si vous utilisez une liaison personnalisée, vous pouvez définir les valeurs comme suit:
<customBinding>
<binding name="x">
<httpsTransport maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
</binding>
</customBinding>
Solution facile: vérifiez si cela fonctionne pour vous.
Aller à web.config
Trouver la liaison utilisée par le client.
changer comme,
maxBufferSize = "2147483647" maxReceivedMessageSize = "2147483647"
Terminé.
Ouvrez app.config côté client et ajoutez les attributs maxBufferSize et maxReceivedMessageSize s'il n'est pas disponible.
Original
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Service1Soap"/>
</basicHttpBinding>
</bindings>
après édition/mise à jour
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Service1Soap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
</basicHttpBinding>
</bindings>
binding name="BindingName"
maxReceivedMessageSize="2097152"
maxBufferSize="2097152"
maxBufferPoolSize="2097152"
côté client et côté serveur