J'ai un programme .net winform C#. Je recueille des traces sur mon programme, avec mon propre système de trace. Les traces montrent des informations sur ce que l'utilisateur a fait et d'autres informations utiles. Je stocke chaque trace dans un ensemble de données. Un exemple, j'ajoute une ligne dans le jeu de données chaque seconde. Le programe ne dispose des traces que lorsque le programme rencontre une exception de type undhandler ou lorsque le programme se ferme. Le problème est le suivant: Le jeu de données commence à être très volumineux dans la mémoire, et si le programme exécute suffisamment de temps, une exception d'insuffisance de mémoire se produit. Je recherche sur le web et j'ai trouvé quelques idées. - mettre l'ensemble de données dans un fichier sur le disque dur (dans ce cas, je dois ouvrir un grand fichier à chaque fois que je veux ajouter une trace) - Pagination l'ensemble de donnéesConsommation mémoire d'un grand ensemble de données
Je dois trouver un moyen de libérer l'utilisation de la mémoire par cet ensemble de données en conservant toutes les informations qu'il contient et également garder un moyen d'ajouter des lignes supplémentaires à cet ensemble de données.
Quelqu'un a des idées ou un guidage? Merci
Utilisez une base de données. – BrokenGlass
Avez-vous essayé d'utiliser log4net? – Venki
... ou un fichier plat. Avez-vous besoin de * lire * toutes ces valeurs lors de l'exécution de l'application? –