문제

최근에 새로운 바이너리 HTTP 바인딩을 사용하기 위해 Silverlight 3 WCF 서비스를 변환했습니다. 긴 문자열은 종종 이러한 서비스에서 사로화하기 위해 서버로 전송되며 이전에 데이터를 올바르게 읽을 수 있도록 사용했습니다. 그러나 새로운 바인딩을 사용하면 요소를 추가 할 올바른 장소를 찾을 수 없습니다.

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

한 가지 시도가 있습니다.

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

이로 인해 다른 문제가 발생했습니다. 동일한 바인딩에서 이진 인코딩과 TextMessageEncoding을 갖는 것이 좋은 생각은 아닙니다. 따라서 이진 인코딩 만 사용하면 독자 할당량을 어떻게 늘리면 큰 문자열의 실질화를 허용 할 수 있습니까?

도움이 되었습니까?

해결책

내가 찾은 해결책은 다음과 같습니다.

      <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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top