Servicestack: Se ha excedido la cuota máxima de longitud de la matriz (16384) al leer datos XML

StackOverflow https://stackoverflow.com//questions/22042095

  •  21-12-2019
  •  | 
  •  

Pregunta

He establecido ServicesEstack para proporcionar servicios web para mi sitio web de MVC 4. Solo estaré usando SOAP1.2 con los servicios web y hasta ahora está funcionando bien.

Excepto cuando estoy tratando de enviar una matriz de bytes que es demasiado grande después de lo cual obtengo el siguiente error:

Se ha excedido la cuota de longitud máxima de matriz (16384) al leer los datos XML. Esta cuota puede incrementarse cambiando la propiedad MaxArrayLength en el objeto XmldictionaryReaderQuotas que se utiliza al crear el lector XML.

En el lado del cliente, he configurado los Readerquotas para el enlace y parece que lo recoge correctamente, por lo que el problema parece estar en el lado del servidor. Normalmente, uno agregaría la configuración de unión para el servicio web en la web.config, pero no estoy seguro de cómo hacerlo para ServicesEstack.

Es decir, si es un servicio de servicio que está causando el problema.

¿Cómo iría a enviar una gran cantidad de datos a un servicio web SOAP1.2 creado con ServiceStack? (Desafortunadamente haciendo uso de una matriz de bytes)

¿Fue útil?

Solución

Como se señala por @cvbarros El valor se puede especificar en el código de inicialización de la aplicación:

DataContractSerializer.Instance = new DataContractSerializer(new XmlDictionaryReaderQuotas
{  
    MaxStringContentLength = /* new value */; 
};

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top