최근에 "컬렉션이 열거자를 인스턴스화 한 후에 수정되었습니다"라는 오류가 발생했으며 그 이유를 알 수 없습니다. 오류는 web.config를 지정합니다. 이 오류의 원인은 무엇입니까?"열거자가 인스턴스화 된 후 컬렉션이 수정되었습니다"라는 오류의 원인은 무엇입니까?
나는 그것을 재현하지 못했습니다. 오류가 아주 드물게 발생합니다. 내 프로그램은 파일을 받아서 처리합니다. 이 오류가 발생하면 프로그램을 다시 실행하기 만하면됩니다.
내 프로그램이 실행되는 동안 무언가가 내 web.config를 수정하고 있다고 생각합니까? 내 프로그램은 여러 데이터베이스 (sql, db2 및 oracle)에 연결하므로 시간이 지나면 완료되는 데 몇 초가 걸릴 수 있습니다. 그 시간 동안 web.config를 만지는 것이 원인이 될 수 있습니까? 아니면 잘못된 영역을보고 있습니까?
편집 : 나는 Web.config의에서 연결 문자열을 읽으려고 라인 (59)이 포함 된 경우가 있었 추적 스택을 보면
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
: 여기
오류에 대한 몇 가지 추가 정보가 읽히고있는 연결 문자열 정보.루프의 컬렉션을 수정하는 것이 계속 나타나는 것입니까?
컬렉션에 있지만 루프가 아닌 스택 추적을 표시하는 위치 근처에 항목을 추가합니다. 나는 수집 물에서 어떤 품목도 제거하지 않는다.
그것은 일반적으로 당신이하는 컬렉션의 반복자를 설정하는 것을 의미하지만 당신이 내에서 컬렉션을 수정 :이 오류는 일반적으로이 같은 itterator의 내부 컬렉션을 수정 (언급 한 바와 같이 이전 버전)에서 중 발생 iterator, 그래서 무효화. 이전에 web.config 파일에서 그런 일이 발생하지 않았습니다. –