Solucionar el error “Error durante la serialización o deserialización mediante JavaScriptSerializer de JSON. La longitud de la cadena supera el valor establecido en la propiedad maxJsonLength”
Hoy en día, los desarrolladores de aplicaciones web enfrentan el reto de incluir en sus programas algoritmos de serialización/deserialización y transmisión de datos que permitan convertir objetos de diferentes tipos a texto, transportarlos y finalmente volver a ser el objeto que eran antes.
Un error común que ocurre con ASP.NET Webform cuando estamos transfiriendo una gran cantidad de información a través de JSON serializando un objeto (Lista, Arreglo, Etc) y este excede el máximo numero de caracteres configurado en el maxJsonLength.
Para ello tenemos dos opciones:
- La primera es agregar unas líneas a nuestro WEB CONFIG, de la aplicación.
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000000"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
2. La segunda es cambiar directamente el maxJsonLength en código (C# en este caso), al momento de utilizarlo.
//Se crear una referencia a JavaScriptSerializer
var serializer = new JavaScriptSerializer();
//Se cambia el Length directo a nuestra referencia
serializer.MaxJsonLength = 500000000;
Espero que esté articulo les sea de ayuda y si tienen una pregunta adicional no duden en comentar. Por ultimo les recuerdo que en Hosting Nicaragua de BSTT ofrecemos servicios de Hosting para aplicaciones web con APS.NET MVC o WEBFORM, así mismo una compartida no me molestaría.
Grande!! me di vueltas una semana en esta tontera. Gracias!!!
Me alegro mucho la entrada fuera de utilidad para ti.
Excelente!! Justo lo que buscaba GRACIAS!!
Excelente!! Gracias
Cuanto puedo soportar el maxJsonLenth
Hola Pablo, la propiedad MaxJsonLength, es una propiedad de número entero cuyo valor predeterminado es 102400 (100k).
muy buen articulos, gracias..
¿En que directorio debo introducir este código?
//Se crear una referencia a JavaScriptSerializer
var serializer = new JavaScriptSerializer();
//Se cambia el Length directo a nuestra referencia
serializer.MaxJsonLength = 500000000;
Eso lo agregas en tu código fuente de llamada al Json, ya sea en C# o VB.net
Gracias, ya lo agregue a la clase que me daba el problema y todo bien.
Genial, que bueno que te funciono