首页 > 后端开发 > C++ > 如何修复'收集的修改;枚举操作可能不会执行” WCF中的错误?

如何修复'收集的修改;枚举操作可能不会执行” WCF中的错误?

Linda Hamilton
发布: 2025-02-02 03:56:08
原创
935 人浏览过

How to Fix the

>故障排除“集合已被修改; 令人沮丧的“收集”被修改;枚举操作可能不会执行”在调试时经常消失,从而使诊断困难。本文研究了特定的WCF服务器方案并提供解决方案。>

使用字典在Windows服务中出现问题,以跟踪数据事件订阅者。 删除客户端的ID(未取消标准)有时会导致

进行此错误的方法。

可能的罪魁祸首是一个回调,例如NotifySubscribers,在

循环期间修改订阅词典。 要解决这个问题,请考虑更改

循环:SignalData NotifySubscribers原始代码:foreach

修改的代码:

<code class="language-csharp">foreach(Subscriber s in subscribers.Values)</code>
登录后复制

>通过使用

>创建
<code class="language-csharp">foreach(Subscriber s in subscribers.Values.ToList())</code>
登录后复制
的副本,枚举在循环开始时在字典状态的快照上运行。 对原始字典的任何后续修改都不会影响枚举,从而消除了错误的回调是问题的来源。 这将循环与外部更改隔离,从而确保平稳执行。

>

以上是如何修复'收集的修改;枚举操作可能不会执行” WCF中的错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板