Wpf ContextSwitchDeadlock CLR不执行从上下文到上下文COM的转换

Wpf ContextSwitchDeadlock CLR不执行从上下文到上下文COM的转换,wpf,clr,deadlock,Wpf,Clr,Deadlock,我正在Windows Vista上使用VS 2010 Ultimate。 我正在使用带有WCF et实体框架的WPF应用程序。 我目前使用Framework4.0。在调试模式下,我有这个异常 CLR在60秒内不执行上下文到上下文0x2AACB0 COM 0x2aace00的转换。 拥有上下文/分区目标的线程可能正在等待或处理一个很长的操作,而没有泵送Windows消息。 这种情况通常会对性能产生负面影响,有时会导致应用程序阻塞或内存的不间断使用。 为避免此问题,所有线程STA(单线程单元)应使用

我正在Windows Vista上使用VS 2010 Ultimate。 我正在使用带有WCF et实体框架的WPF应用程序。 我目前使用Framework4.0。在调试模式下,我有这个异常

CLR在60秒内不执行上下文到上下文0x2AACB0 COM 0x2aace00的转换。 拥有上下文/分区目标的线程可能正在等待或处理一个很长的操作,而没有泵送Windows消息。 这种情况通常会对性能产生负面影响,有时会导致应用程序阻塞或内存的不间断使用。 为避免此问题,所有线程STA(单线程单元)应使用泵送等待原语(如CoWaitForMultipleHandles)并在长时间运行的操作期间定期泵送柱。 (翻译自法语)


这可能是因为您的主线程或UI线程被长时间的计算操作阻塞。UI线程上与DB的交互或其他计算导致了此问题。您的代码可能违反了基本STA原则。

的可能重复。