Недавно я столкнулся с ошибкой «Коллекция была изменена после создания экземпляра перечислителя», и я понятия не имею, почему. Ошибка указывает на web.config. Что вызывает эту ошибку?
Я не смог воспроизвести это. Ошибка выскакивает очень редко и случайно. Моя программа берет файл и обрабатывает его. Когда я получаю эту ошибку, я просто перезапускаю программу, и все в порядке.
Я думаю, что что-то модифицирует мой web.config во время работы моей программы? Моя программа подключается к нескольким базам данных (sql, db2 и oracle), поэтому иногда это может занять несколько секунд. Может ли что-то касаться web.config в это время быть причиной, или я смотрю не в ту область?
Edit:
Вот дополнительная информация об ошибке:
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
Глядя на трассировку стека, это произошло, когда я попытался прочитать строку подключения из файла web.config, а строка 59 содержит информацию о строке подключения, которая читается.
Похоже ли это из-за изменения коллекции в цикле?
Я добавляю элементы в коллекцию, но не в цикле, и нигде рядом с местом, где отображается трассировка стека Я не удаляю предметы из коллекций.