Pergunta

Eu tenho um ASP.NET 3.5 App e tentando atualizar um painel de atualização que tem um controle personalizado aninhado. Em que o controle personalizado é um ComponentArt Cinge, que é preenchido por quase 13MB de dados (Sim, eu poderia chunck que ...) neste Update.

Eu tenho um botão escondido wihtin a atualização do painel, que eu desencadear pela JS do lado do cliente, quando eu preciso o UpdatePanel e da grade.

Quando eu chamar o método Update durante a asyncPostback com Updatepanelxyz.Update (), então eu fico mais tarde no processo de asyncPostBackError dizendo, que o JSonSerializer não pode hanlde essa quantidade de dados. I deve aumentar o valor especificado.

De fato. Entendido. Mas quando eu mudar este valor no web.config, então ele só faz o trabalho até ao redor de 8 MB, mas não mais. Existe um limite para o JSonSerializer nesse caso. Eu definir o valor para o valor máximo de Int32, que é o tipo de 1000x do valor padrão, que já é o suficiente para 4MB de dados serializados.

Todas as sugestões? Qualquer maneira de forçar o serializador para que isso aconteça? Qualquer maneira de usar outro Serializer?

Cheers, Steve

Foi útil?

Solução

Sua melhor aposta é para alterar a propriedade ScriptingJsonSerializationSection.MaxJsonLength na sua seção web.config.

O padrão é 102400 personagens, em contraste com a classe limite JsonSerializer de 2097152 caracteres.

Veja:

JsonSerializer propriedade de classe maxJsonLength

e

seção de configuração JsonSerialization propriedade comprimento máximo

Como eu mencionei acima, alterando a propriedade seção de configuração é a única maneira de ir infelizmente.

Outras dicas

Cara, 1 MB de dados é demais - por que diabos você precisa 13

Eu realmente acho que você precisa refatorar seu ui. Eu não me importo o quão rápido sua rede é que é coisa apenas louco!

Eu concordo absolutamente a camada necessidade UI e DataAccess um refactor, mas por um curto prazo eu estava apenas procurando uma solução simples e rápida para ajudar o meu cliente até a próxima atualização do software sai.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top