سؤال

لقد قمت مؤخرا بتحويل بعض خدمات Silverlight 3 WCF لاستخدام ارتباطات HTTP الثنائية الجديدة. غالبا ما يتم إرسال الأوتار الطويلة إلى الخادم لتحميل في هذه الخدمات وأستعمل سابقا لضمان قراءة البيانات بشكل صحيح. ومع ذلك، مع ربط جديد لا يمكنني العثور على المكان الصحيح لإضافة العنصر:

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

تسبب ذلك في مشاكل أخرى - لا يبدو أنه من الجيد أن يكون لديك ترميز ثنائي ومدرسة TextMessAgeScoding في نفس الملزمة. لذلك باستخدام الترميز الثنائي فقط، كيف يمكنني زيادة حصص القارئ للسماح لتحلال سلاسل كبيرة؟

هل كانت مفيدة؟

المحلول

إليك الحل الذي وجدته:

      <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