我得到了一个
ContextSwitchDeadlock
在执行CustomXMLPart后添加Documents.Add()时。
同样的代码上周运行良好。
我知道ContextSwitchDeadlock是由长时间运行的操作引起的(这不是一个重复的问题)。为什么CustomXMLParts.Add()命令会导致长时间运行的操作?
有人看到这个了吗?有什么好办法解决吗?
ContextSwitchDeadlock发生消息:托管调试助手'ContextSwitchDeadlock‘检测到’C:\程序文件(x86)\Microsoft \root\Office16\WINWORD.EXE‘中的问题。附加信息:60秒内,CLR无法从COM上下文0xfdb520转换到COM上下文0xfdb468。拥有目标上下文/单元的线程很可能要么执行非抽水等待,要么处理非常长时间运行的操作而不发送Windows消息。这种情况通常会对性能产生负面影响,甚至可能导致应用程序变得无响应或内存使用量随着时间的推移而不断累积。为了避免这个问题,所有单线程单元(STA)线程都应该使用泵送等待原语(如CoWaitForMultipleHandles),并在长时间运行操作期间常规地对消息进行泵入。
发布于 2016-12-07 02:51:52
在调试长期运行的进程时,可能会出现上下文切换死锁。在大多数情况下,如果进程需要长时间运行,您可以忽略它。
https://stackoverflow.com/questions/41008605
复制相似问题