0

我收到下面给出的这个错误我猜当我使用 $.post 方法在控制器中调用一个动作时它的最大长度超过错误你能告诉我应该设置什么设置来增加长度

System.InvalidOperationException:使用 JSON JavaScriptSerializer 进行序列化或反序列化期间出错。字符串的长度超过了 maxJsonLength 属性上设置的值。在 System.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj, SerializationFormat serializationFormat) 在 System.Web.Script.Serialize(Object obj, StringBuilder output, SerializationFormat serializationFormat) 在 System.Web.Script.Serialization。 JavaScriptSerializer.Serialize(Object obj) 在 System.Web.Mvc.JsonResult.ExecuteResult(ControllerContext context) 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) 在 System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass11 。是()

在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter 过滤器,ResultExecutingContext preContext,Func1 continuation) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass11.<>c__DisplayClass13.<InvokeActionResultWithFilters>b__10() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func1 续)在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) 在 System.Web.<>c__DisplayClass11.<>c__DisplayClass13.b__10() 在 System.Web。 Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) 在 System.Web.Mvc.Controller.ExecuteCore() 在 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) 在 System.Web.Mvc.ControllerBase.System.Web .Mvc.IController.Execute(RequestContext requestContext) 在 System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) 在 System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) 在 System.Web.Mvc.MvcHandler.System.Web .IHttpHandler。ProcessRequest(HttpContext httpContext) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

先感谢您

4

2 回答 2

2

您可以在 web.config 中将其设置为无限制,方法如下:

<Scripting>
  <WebServices>
    <JsonSerialization MaxJsonLength="0" />
  </WebServices>
</Scripting>

默认值约为 4MB。

msdn链接

于 2009-09-04T10:13:29.330 回答
0

这是一篇关于它的非常好的博客文章

http://brianreiter.org/2011/01/03/custom-jsonresult-class-for-asp-net-mvc-to-avoid-maxjsonlength-exceeded-exception/

于 2013-01-09T11:37:29.840 回答