2 votes

Obtenir le nombre de HttpCollectionKeys

Je reçois le ThrowIfMaxHttpCollectionKeysExceeded() erreur sur une page particulièrement grande, et je voulais savoir s'il y avait un moyen de compter le nombre de HttpCollectionKeys le contenu de ma page avant qu'elle ne soit soumise.

Je veux utiliser cette information pour essayer d'éviter d'augmenter le MaxHttpCollectionKeys, donc PAS ceci.

<add key="aspnet:MaxHttpCollectionKeys" value="3000" />

Je vous remercie de toute information sur la manière d'y parvenir.

UPDATE :

Il s'avère que Page.Request.Form.Keys.Count est le champ que je recherchais. J'avais déjà essayé, mais j'y accédais pendant le Page_Load, et apparemment il faut accéder à ceci pendant un événement de retour pour obtenir un nombre correct, ce qui signifie que vous devez régler temporairement :

<add key="aspnet:MaxHttpCollectionKeys" value="3000" />. 

La question se pose toujours de savoir comment accéder à cette valeur avant de soumettre la page, mais c'est ainsi que j'ai pu obtenir une sorte de décompte au moins.

1voto

Karl Anderson Points 22138

Voici un HttpModule qui comptera le nombre de clés dans chaque requête et enregistrera le "point culminant" des clés utilisées et dans le journal des événements de Windows :

Utilisation d'un module HTTP pour aider à ajuster la valeur de aspnet:MaxHttpCollectionKeys

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X