В $ .Post в Json, используемом в ASP.NET MVC 1.0, я получаю ошибку превышения максимальной длины

Я получаю эту ошибку, приведенную ниже, я предполагаю, что это ошибка превышения максимальной длины, когда я вызываю действие в контроллере с помощью метода $ .post, вы можете сказать мне, какой параметр мне следует установить, чтобы увеличить длину

System.InvalidOperationException: ошибка во время сериализации или десериализации с использованием JSON JavaScriptSerializer. Длина строки превышает значение, установленное в свойстве maxJsonLength. в System.Web.Script.Serialization.JavaScriptSerializer.Serialize (Object obj, вывод StringBuilder, SerializationFormat serializationFormat) в System.Web.Script.Serialization.JavaScriptSerializer.Serialize (Object obj, SerializationFormat serializationFormat) в System.Web.Script.Serialize JavaScriptSerializer.Serialize (Object obj) в System.Web.Mvc.JsonResult.ExecuteResult (контекст ControllerContext) в System.Web.Mvc.ControllerActionInvoker.InvokeActionResult (ControllerContext controllerContext, ActionResult actionResult) в System.WeblerDisplay. .быть()

в System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter (фильтр IResultFilter, преконтекст ResultExecutingContext, продолжение 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. ‹> c__DisplayClassc.‹> c__DisplayClassc. ‹> c__DisplayClassc.‹> cvo__DisplayClassC. (ControllerContext controllerContext, фильтры IList`1, ActionResult actionResult) в System.Web.Mvc.ControllerActionInvoker.InvokeAction (ControllerContext controllerContext, String actionName) в System.Web.Mvc.Controller.ExecuteCore () в System.Web.Mvc.ControllerBase. Выполнить (RequestContext requestContext) в System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute (RequestContext requestContext) в System.Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase httpContext) в System.Web.Mvc.Mvc. ProcessRequest (HttpContext httpContext) в System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext httpContext) в System.Web.HttpAp plication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () в System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое значение и выполнено синхронно)

заранее спасибо


person Selwyn    schedule 04.09.2009    source источник


Ответы (2)


Вы можете установить его в web.config без ограничений следующим образом:

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

Значение по умолчанию составляет около 4 МБ.

ссылка msdn

person Adam Vigh    schedule 04.09.2009
comment
Не устанавливайте неограниченный. Вам лучше установить его на число, которое будет соответствовать вашему варианту использования. Установка неограниченного количества файлов оставляет дверь открытой для злоупотреблений в системе. - person Chuck Conway; 14.08.2010

Вот очень хороший пост об этом в блоге

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

person coffeeyesplease    schedule 09.01.2013