У меня есть следующий код, который передает объект JSON в AJAX вызов ...
var jsonResultStr = $j("#HiddenLiveJson").val();
var jsonResult = JSON.parse(jsonResultStr);
var serviceURL = appRoot + 'Register/ImportTasks'
$j.ajax({
type: "get",
url: serviceURL,
data: { 'jsonResultsStr': jsonResultStr },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successFunc,
error: errorFunc
});
Json получен из файла XLSX, поэтому потенциально может иметь любой размер.
Если передан относительно небольшой набор JSON, скажем, 7 элементов в JSON, то вызов AJAX пройдет успешно, выполнено действие контроллера и мои данные импортированы. Однако, если передан больший набор данных JSON, он последовательно завершается сбоем (HTTP Status 400), даже не приближаясь к действию контроллера. Кажется, я нигде не могу найти никаких предложений, что вызывает это. Очевидно, мое первое предположение - размер файла XLSX.
btw ... Использованное в моем тестировании JSON должно быть надежным, поскольку данные, которые не выполняются, представляют собой те же самые данные, которые успешно выполняются, но дублируются. удвоить его размер.
До сих пор я пытался добавить это в мой web.config:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="1000000000">
</jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
А также это в appSettings в web.config :
<add key="aspnet:MaxJsonDeserializerMembers" value="1500000000" />
А также установка следующего:
<httpRuntime maxRequestLength="1000000000" .../>
Ничто из этого не имело никакого значения. Любые дополнительные предложения приветствуются!