ServiceStack:O máximo comprimento da matriz de cota (16384) foi excedido durante a leitura de dados XML
-
21-12-2019 - |
Pergunta
Eu configurei ServiceStack para fornecer serviços web para o meu MVC 4 web site.Só vou estar usando Soap1.2 com os serviços da web e até agora tem funcionado bem.
Exceto quando eu estou tentando enviar uma matriz de bytes que é grande demais depois que eu receber o seguinte erro:
O máximo comprimento da matriz de cota (16384) foi excedido durante a leitura de dados XML.Essa cota poderá ser aumentado, alterando o MaxArrayLength propriedade sobre o XmlDictionaryReaderQuotas objeto usado ao criar o leitor de XML.
No lado do cliente, eu definir o readerQuotas para o enlace e parece buscá-lo corretamente para que o problema parece estar no lado do servidor.Normalmente seria de adicionar as definições de ligação para o serviço da web na web.config " mas eu não tenho certeza de como fazer isso para ServiceStack.
Isto é, se é ServiceStack que está causando o problema.
Como eu poderia ir sobre o envio de uma grande quantidade de dados para uma Soap1.2 serviço web criado com ServiceStack?(Infelizmente, por fazer uso de uma matriz de bytes)
Solução
Como observado por @cvbarros o valor pode ser especificado no pedido de inicialização de código:
DataContractSerializer.Instance = new DataContractSerializer(new XmlDictionaryReaderQuotas
{
MaxStringContentLength = /* new value */;
};