ContextSwitchDeadlock CLR不会对上下文COM执行转换上下文

时间:2015-11-13 11:40:18

标签: wpf clr deadlock

我在Windows Vista上使用VS 2010 Ultimate。 我正在使用WCF和实体框架的WPF应用程序。 我目前使用Frame work 4.0。在调试模式下,我有这个例外。

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

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

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