我正在阅读完整的电子表格内容到数据表
然后遍历Table.Rows查询远程数据库(Oracle),以及创建/更新/删除ADS帐户
然后使用结果(状态)
更新Excel行大部分时间情况都很顺利,但间歇性地我得到了这个例外:
检测到ContextSwitchDeadlock
消息: CLR无法从COM上下文0x2119a8过渡到COM上下文0x211b18达60秒。拥有目标上下文/公寓的线程很可能是在非抽空等待或处理非常长时间运行的操作而不抽取Windows消息。这种情况通常会对性能产生负面影响,甚至可能导致应用程序变得无响应或内存使用量不断累积。为了避免这个问题,所有单线程单元(STA)线程都应该使用抽取等待原语(例如CoWaitForMultipleHandles)并在长时间运行操作期间定期泵送消息。
导致这种情况的原因是什么?