Comment augmenter MaxStringContentLength sur le côté serveur pour binaire Http liaison

J'ai récemment converti quelques-uns des services WCF, Silverlight 3 pour utiliser le nouveau binaire des liaisons http. De longues chaînes sont souvent envoyés sur le serveur pour la désérialisation de ces services et je l'ai déjà utilisé pour s'assurer que les données pourraient être lu correctement. Cependant, avec la nouvelle liaison je ne trouve pas le bon endroit pour ajouter un élément:

      <customBinding>
        <binding name="binaryHttpBinding">
          <binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647"/>
          <httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
        </binding>
      </customBinding>

Voici une tentative:

      <customBinding>
        <binding name="binaryHttpBinding">
          <binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647"/>
          <httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
          <textMessageEncoding>
            <readerQuotas maxDepth="32" maxStringContentLength="5242880"
            maxArrayLength="200000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          </textMessageEncoding>
        </binding>
      </customBinding>

Qui a causé d'autres problèmes, il ne semble pas être une bonne idée d'avoir un codage binaire et un textMessageEncoding dans la même reliure. Donc, en utilisant seulement le codage binaire, comment puis-je augmenter le lecteur de quotas pour permettre la désérialisation de grandes chaînes?

OriginalL'auteur James Cadd | 2009-07-21