gpt4 book ai didi

.net - 是什么导致错误 "Collection was modified after the enumerator was instantiated"?

转载 作者:行者123 更新时间:2023-12-02 06:12:13 26 4
gpt4 key购买 nike

最近我遇到错误“在实例化枚举器后修改了集合”,我不知道为什么。该错误指定了 web.config。是什么导致了这个错误?

我无法重现它。该错误很少随机出现。我的程序接收一个文件并对其进行处理。当我收到此错误时,我只需重新运行该程序就可以了。

我在想在我的程序运行时有什么东西在修改我的 web.config?我的程序确实连接到多个数据库(sql、db2 和 oracle),因此有时可能需要几秒钟才能完成。在那段时间接触 web.config 的东西可能是原因还是我看错了区域?

编辑:

以下是有关该错误的一些附加信息:

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 行包含正在读取的连接字符串信息。

这看起来仍然像是由于在循环中修改集合造成的吗?

我确实将项目添加到集合中,但不是在循环中,而且离堆栈跟踪显示的位置很远。我不会从收藏中删除任何项目。

最佳答案

您不能在遍历集合时更改集合(即在 foreach 中)。

因此,在 foreach block 内从集合中添加或删除项目将导致此错误。

作为 web.config 中的一个错误,可能是您添加了在别处定义的重复键,或者您正试图在代码中动态更改配置。

关于.net - 是什么导致错误 "Collection was modified after the enumerator was instantiated"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1224198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com