Pregunta

Recientemente he convertido algunas Silverlight 3 servicios WCF para utilizar los nuevos enlaces HTTP binarios. Las cadenas largas a menudo son enviados al servidor de deserialización en estos servicios y utilizados previamente para asegurar que los datos se pueden leer correctamente. Sin embargo, con la nueva unión no puedo encontrar el lugar correcto para añadir el elemento:

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

Esto es un intento:

      <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>

Esto causó otros problemas - no parecer una buena idea tener una codificación binaria y una textMessageEncoding en el mismo enlace. Así, utilizando únicamente la codificación binaria, ¿cómo puedo aumentar las cuotas de lector para permitir deserialización de grandes cadenas?

¿Fue útil?

Solución

Aquí está la solución que encontré:

      <customBinding>
        <binding name="binaryHttpBinding">
          <binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647">
            <readerQuotas maxDepth="32" maxStringContentLength="5242880"
            maxArrayLength="200000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          </binaryMessageEncoding>
          <httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
        </binding>
      </customBinding>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top