Récemment, j'ai rencontré l'erreur "Collection a été modifiée après l'instanciation de l'énumérateur" et je ne sais pas pourquoi. L'erreur spécifie le fichier web.config. Qu'est-ce qui cause cette erreur?Qu'est-ce qui provoque l'erreur "La collection a été modifiée après l'instanciation de l'énumérateur"?
Je n'ai pas été capable de le reproduire. L'erreur apparaît très rarement et au hasard. Mon programme prend un fichier et le traite. Quand je reçois cette erreur, je réexécute simplement le programme et ça va.
Je pense que quelque chose est en train de modifier mon web.config pendant que mon programme est en cours d'exécution? Mon programme se connecte à plusieurs bases de données (sql, db2 et oracle), parfois cela peut prendre plusieurs secondes. Est-ce que quelque chose touchant le web.config pendant ce temps peut être la cause ou est-ce que je regarde la mauvaise zone?
Edit:
Voici quelques informations supplémentaires sur l'erreur:
Type : System.Configuration.ConfigurationErrorsException, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Message : An error occurred loading a configuration file: Collection was modified after the enumerator was instantiated. (<path>\web.config line 59)
Source : System.Configuration
Help link :
BareMessage : An error occurred loading a configuration file: Collection was modified after the enumerator was instantiated.
Filename : <path>\web.config
Line : 59
Errors : System.Configuration.ConfigurationException[]
Data : System.Collections.ListDictionaryInternal
regardant la pile trace il est arrivé quand j'ai essayé de lire une chaîne de connexion de la ligne 59 et web.config contient les informations de chaîne de connexion en cours de lecture.
Cela ressemble-t-il toujours à la modification d'une collection dans une boucle?
J'ajoute des éléments à une collection mais pas dans une boucle et nulle part près de l'endroit où la trace de la pile est affichée. Je ne retire aucun élément des collections.
Cela signifie généralement que vous configurez un itérateur sur une collection, mais vous modifiez la collection à l'intérieur du itérateur, l'invalidant ainsi. Je n'ai jamais rencontré une telle chose dans mon fichier web.config auparavant. –