Если вы используете MVC 4, обязательно проверьте этот ответ .
Если вы все еще получаете error:
maxJsonLength
в максимальное значение в web.config , ваша проблема в том, что:
Значение свойства MaxJsonLength применяется только к внутреннему экземпляру JavaScriptSerializer, который используется асинхронным уровнем связи для вызова методов Web-сервисов. ( MSDN: ScriptingJsonSerializationSection.MaxJsonLength Свойство )
blockquote>В принципе, «внутренний»
JavaScriptSerializer
учитывает значениеmaxJsonLength
, когда вызывается из веб-метода; прямое использованиеJavaScriptSerializer
(или использование с помощью MVC action-method / Controller) не учитывает свойствоmaxJsonLength
, по крайней мере, не из разделаsystemWebExtensions.scripting.webServices.jsonSerialization
файла web.config.As обходной путь, вы можете сделать следующее в своем контроллере (или в любом месте):
var serializer = new JavaScriptSerializer(); // For simplicity just use Int32's max value. // You could always read the value from the config section mentioned above. serializer.MaxJsonLength = Int32.MaxValue; var resultData = new { Value = "foo", Text = "var" }; var result = new ContentResult{ Content = serializer.Serialize(resultData), ContentType = "application/json" }; return result;
Этот ответ - моя интерпретация этого ответа на форум asp.net .