valor supera propiedad net mvc maxvalue maxjsonlength maxjsondeserializermembers maximum longitud length jsonserialization establecido cadena asp asp.net-mvc json asp.net-mvc-2

asp.net-mvc - supera - maxjsonlength asp net mvc 5



JSON, ASP.NET MVC-excepción de MaxJsonLength (4)

Solo intento cambiar algunos números separados por comas a la interfaz:

[AcceptVerbs(HttpVerbs.Get)] public JsonResult GetSquares() { var result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; IList<double> list = new List<double>(); ... result.Data = list; return result; }

Esto funciona bien siempre que haya solo unos pocos números. Desafortunadamente, tengo que cambiar muchos números ocasionalmente y obtener una excepción MaxJsonLength. Intenté varias sugerencias para solucionar esto (agregue algo al archivo web.config, etc.). Tal vez no tengo que usar JSON después de todo? Sin embargo, todavía tengo que hacer algo con los números usando javascript. Estoy usando cosas de ajax de jquery en este momento.

Cualquier sugerencia bienvenida ...


Esto no funcionará?

<configuration> <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="2147483644"/> </webServices> </scripting> </system.web.extensions> </configuration>

Si no, tal vez puedas pasarlo como una cuerda ...

[AcceptVerbs(HttpVerbs.Get)] public ActionResult GetSquares() { IList<double> list = new List<double>(); .... return Content(string.Join(",", list)); }




Amplié el controlador de la clase base y funciono bien:

Clase ControllerExtensions:

namespace SCAWEB.Helpers { public static class ControllerExtensions { #region Json public static int MaxJsonLength{get;set;} static ControllerExtensions() { MaxJsonLength = 2147483644; } public static System.Web.Mvc.JsonResult LargeJson(this System.Web.Mvc.Controller controlador, object data) { return new System.Web.Mvc.JsonResult() { Data = data, MaxJsonLength = MaxJsonLength, }; } public static System.Web.Mvc.JsonResult LargeJson(this System.Web.Mvc.Controller controlador, object data, System.Web.Mvc.JsonRequestBehavior behavior) { return new System.Web.Mvc.JsonResult() { Data = data, JsonRequestBehavior = behavior, MaxJsonLength = MaxJsonLength }; } //TODO: You can add more overloads, the controller class has 6 overloads #endregion } }

Clase MyController:

using SCAWEB.Helpers; namespace SCAWEB.Controllers { public class VentasController : Controller { public ActionResult VentasList (){ //Todo: All the action code //return this.Json(myData); return this.LargeJson(myData);//Here I use my extensions } } }

Puedes especificar la longitud máxima en tu código:

ControllerExtensions.MaxJsonLength = 1073741824;//1GB