JSON, ASP.NET MVC - MaxJsonLength exception

前端 未结 4 1981
时光取名叫无心
时光取名叫无心 2021-01-18 05:25

I am just trying to shift some comma separated numbers to the frontend:

[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetSquares()
{
 var result = new JsonR         


        
4条回答
  •  情书的邮戳
    2021-01-18 05:55

    I have extended the base class Controller and work great:

    ControllerExtensions class:

    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
        }
    }
    

    MyController class:

    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
            }
        }
    }
    

    You can especify the max length in your code:

    ControllerExtensions.MaxJsonLength = 1073741824;//1GB
    

提交回复
热议问题