Я включил сжатие моей службы WCF, внедрив образец Кодировщик GZip , включенный в MSDN, и все работает отлично, однако теперь мне нужно перенести квоты моего читателя на эту привязку, как я ранее делал они настроены, когда я использовал wsHttpBinding
.
Это моя привязка GZip, как объявлено в моей Web.config
службы wcf:
<customBinding>
<binding name="BufferedHttpCompressionBinding" closeTimeout="00:00:15"
openTimeout="00:00:15" receiveTimeout="00:00:15" sendTimeout="00:00:15">
<gzipMessageEncoding innerMessageEncoding="textMessageEncoding">
</gzipMessageEncoding>
<httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647">
<extendedProtectionPolicy policyEnforcement="Never" />
</httpTransport>
</binding>
</customBinding>
Как вы можете видеть без квот для читателя, теперь вот квоты для читателя, которые я хотел бы добавить:
<readerQuotas
maxDepth="64"
maxStringContentLength="1048576"
maxArrayLength="1048576"
maxBytesPerRead="1048576"
maxNameTableCharCount="1048576" />
Я попытался вставить этот узел как дочерний элемент элемента <binding />
, а также увидел в сети пример его между элементом <gzipMessageEncoding />
, ни один из этих двух способов не помог мне вернуть ошибку:
System.Configuration.ConfigurationErrorsException: Unrecognized element 'readerQuotas'.
Есть мысли? Можно ли использовать квоты читателей с пользовательскими привязками? Я полагаю, что так и должно быть, но может ли это быть изменение класса или простой способ пройти через конфигурацию? Надеюсь, что некоторые из них помогут вам:)
Большое спасибо,
Graham.