Inquiridor
Maximum length exceeded

Pergunta
-
Pessoal tenho uma aplicação que faz uma requisição via Jquery Ajax, essa requisição está retornado um objeto com cerca de 16mil registros e está dando erro de:
Maximum length exceeded
Não sei mais o que fazer, fá fiz de td que encontrei na Web, irei postas meu webmethod e o JS.
[WebMethod(EnableSession = true)] public Array Pesquisar(string StrPValue, string fn) { string clsEntidade = ""; object ArrayRetorno; DiconarioFuncao(); funcao.TryGetValue(fn, out clsEntidade); Type TypeEntidade = Type.GetType(clsEntidade); if (clsEntidade != "") { object entidade = Activator.CreateInstance(TypeEntidade, StrPValue); ArrayRetorno = TypeEntidade.InvokeMember("Pesquisar", BindingFlags.Default | BindingFlags.InvokeMethod, null, entidade, null); return (Array)ArrayRetorno; } return null; }
function Pesquisar() { var value = RecuperaValoresTela(); $.ajax({ type: "POST", url: "../Services/EndPointService.asmx/Pesquisar" , data: "{ StrPValue:'" + value + "', fn:'"+ funcao +"'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { var typeClass = false; var rowTittle = $("#grdListagem tr:nth-child(0)").next().clone(); var row = $("#grdListagem tr:nth-child(1)").next().clone(); $("#grdListagem tr:nth-child(1)").nextAll().remove(); var totalColumn = 0; if (data.length == 0 ) { $("#grdListagem").append(row); $('#grdListagem').hide(); } else { for (index in data) { // Aplica barra de rolagem if (data.length > 5) { $('#Panel1').css({ "overflow-y": "scroll"}); } else { $('#Panel1').css({ "overflow-y": ""}); } var obj = data[index]; var rowClone = $(row).clone(); totalColumn = 0; for (index2 in obj) { totalColumn++; } // 1 Botão Editar, 2 Botão Excluir var i = 3; for (index2 in obj) { if (i == 3)//((totalColumn + 2) == i) { $(rowClone).find("td:nth-child(" + 1 + ")").attr('PK',index2 + ':' + obj[index2]); $(rowClone).find("td:nth-child(" + 2 + ")").attr('PK',index2 + ':' + obj[index2]); } $(rowClone).find("td:nth-child("+ i + ")").text(obj[index2]); // else // { // } i++; } // INSERI A CLASSE $(rowClone).removeClass(); if (typeClass == true) { $(rowClone).addClass('gridViewAlternating'); typeClass = false; } else { $(rowClone).addClass('gridViewRow'); typeClass = true; } $("#grdListagem").append(rowClone); } $('#grdListagem').show(); } }, error: function(msg) { alert('Erro durante a operação.'); } }); //alert('Pesquisar clicado'); return false; }
Todas as Respostas
-
Existe um limite de 100 kb de retorno em transações deste tipo.
Você pode aumentar esse número configurando no web.config:
<configuration> <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="50000000"/> </webServices> </scripting> </system.web.extensions> </configuration>
http://msdn.microsoft.com/en-us/library/bb763183(v=vs.90).aspx
http://www.linkedin.com/pub/murilo-kunze/44/191/455
- Sugerido como Resposta Lucas Vandor quarta-feira, 7 de novembro de 2012 10:46