Domanda

Recentemente ho convertito alcuni Silverlight 3 servizi WCF per utilizzare le nuove associazioni http binari. stringhe lunghe sono spesso inviati verso il server per deserializzazione in questi servizi e io in precedenza utilizzati per garantire i dati possono essere letti correttamente. Tuttavia, con la nuova associazione non riesco a trovare il posto giusto per aggiungere l'elemento:

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

Ecco un tentativo:

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

che ha causato altri problemi - non sembrare una buona idea avere una codifica binaria e un textMessageEncoding nella stessa vincolante. Quindi, utilizzando solo la codifica binaria, come posso aumentare le quote del lettore per consentire la deserializzazione di stringhe di grandi dimensioni?

È stato utile?

Soluzione

Ecco la soluzione che ho trovato:

      <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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top