“调用线程无法访问此对象,因为另一个线程拥有它。” - 我们怎么知道哪个线程拥有它?

时间:2016-05-15 07:10:49

标签: c# wpf multithreading dictionary

我在这行中运行程序时遇到此异常:

DirectiveProcessingProvider _directiveProcessingProvider = new DirectiveProcessingProvider(rdeData.CollectorDB, rdeData.GridCollectorDB);
values[0] = _directiveProcessingProvider.ParseParamValue(values[0].ToString(), true);

它基本上做的是解析字典中的值。 这个dictuinary正在加载,也许这就是导致问题的原因,但注意到我已经帮助了...

这是字典加载:

_collectorDB.SetItem((t.value as BaseControlProperties).Name, GetTextFromScreenInControlPosition(vco), true);

这个解决DID的常见答案无济于事:

this.Dispatcher.Invoke((Action)(() =>
{
    ...// your code here.
}));

知道为什么吗?

PS - 我试过添加常量,只是为了检查是否从屏幕上获取文本是问题,而不是..

任何帮助将不胜感激。

0 个答案:

没有答案