UpdatePanel semble lutter avec d'énormes données comme AsynPostBack. jSonSerializer maxLength ne aide pas

StackOverflow https://stackoverflow.com/questions/280339

Question

J'ai une application ASP.NET 3.5 et j'essaie de mettre à jour un panneau de mise à jour doté d'un contrôle personnalisé imbriqué. Dans ce contrôle personnalisé, il y a un ComponentArt Gird, qui est rempli par près de 13 Mo de données (oui, je pourrais le tronquer ...) lors de cette mise à jour.

J'ai un bouton caché dans le panneau de mise à jour, que je déclenche par JS du côté client, lorsque j'ai besoin de updatePanel et de la grille.

Lorsque j'appelle la méthode Update pendant asyncPostback avec Updatepanelxyz.Update (), je reçois plus tard dans le processus un message asyncPostBackError disant que JSonSerializer ne peut gérer cette quantité de données. Je devrais augmenter la valeur spécifiée.

En effet. Compris. Mais lorsque je modifie cette valeur dans le fichier web.config, cela ne fonctionne que jusqu’à environ 8 Mo environ, mais pas plus. Y a-t-il une limite pour JSonSerializer dans ce cas? J'ai défini la valeur sur la valeur maximale de Int32, ce qui correspond au type 1000x de la valeur par défaut, ce qui suffit déjà pour 4 Mo de données sérialisées.

Des suggestions? Un moyen de forcer le sérialiseur pour que cela se produise? Une façon d'utiliser un autre sérialiseur?

Salut, Steve

Était-ce utile?

La solution

Votre meilleure option est de changer la propriété ScriptingJsonSerializationSection.MaxJsonLength dans votre section web.config.

La valeur par défaut est 102400 caractères, contrairement à la limite de 2097152 caractères de la classe JsonSerializer.

Voir:

Propriété maxJsonLength de la classe JsonSerializer

et

Longueur maximale de la section de configuration JsonSerialization, propriété

Comme je l’ai mentionné ci-dessus, la modification de la propriété de la section de configuration est le seul moyen de procéder malheureusement.

Autres conseils

Mec, 1 Mo de données, c'est trop - pourquoi diable avez-vous besoin de 13?

Je pense vraiment que vous devez reformuler votre interface utilisateur. Je me fiche de la rapidité de votre réseau, c’est juste des trucs dingues!

Je suis tout à fait d'accord pour dire que l'interface utilisateur et la couche DataAccess ont besoin d'un refactor, mais à court terme, je cherchais simplement une solution simple et rapide pour aider mon client jusqu'à la prochaine mise à jour du logiciel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top