У меня есть операция службы WCF, которая принимает байтовый массив как часть своего контракта на данные.Служба доступна только для внутреннего использования (не для Интернета), и я хочу увеличить квоты, чтобы разрешить массив байтов размером 10 МБ.
Служба размещена в IIS7.Когда я пытаюсь отправить байтовый массив с длиной по умолчанию, я получаю следующее сообщение об исключении:
Произошла ошибка десериализации объекта типа MyService.ServiceContracts.Data.Максимальная квота длины массива (16384) была превышена при чтении данных XML.Эту квоту можно увеличить, изменив свойство MaxArrayLength объекта XmlDictionaryReaderQuotas, используемого при создании средства чтения XML.Строка 1, позиция 22991.
Вот конфигурация:
<system.serviceModel>
<netTcpBinding>
<binding name="largeBinaryBinding" maxReceivedMessageSize="10001000"
maxBufferPoolSize="80008000" maxBufferSize="10001000"
receiveTimeout="00:01:00" openTimeout="00:01:00"
closeTimeout="00:01:00" sendTimeout="00:01:00">
<readerQuotas maxArrayLength="10000000" />
</binding>
</netTcpBinding>
<services>
<service name="MyService">
<endpoint binding="netTcpBinding"
bindingConfiguration="largeBinaryBinding"
bindingNamespace="http://my.services.co.uk/MyService"
contract="Services.MyService.ServiceContracts.IMyService" />
</service>
</services>
</system.serviceModel>
Итак, моя конфигурация допускает сообщения большего размера, но IIS, кажется, игнорирует это - как мне это остановитьразрешить большие сообщения через?