2015-11-13 50 views
-1

我在Windows Vista上使用VS 2010 Ultimate。 我正在使用WCF和實體框架的WPF應用程序。 我目前使用Frame work 4.0。在調試模式下,我有這個例外。ContextSwitchDeadlock CLR不執行到上下文的轉換上下文COM

CLR不執行轉換上下文到上下文0x2aacbb0 COM COM 0x2aace00 60秒。 擁有上下文/分區目標的線程可能正在等待或處理很長時間的操作,而無需抽取Windows消息。 這種情況通常會對性能產生負面影響,有時會導致應用程序阻塞或不間斷地使用內存。 爲了避免這個問題,所有的線程STA(單線程公寓)都應該使用泵等待原語(比如CoWaitForMultipleHandles)並且在長期運行的操作中定期發送帖子。 (譯自法語)

任何幫助讚賞

+1

可能重複[.NET - ContextSwitchDeadlock被檢測](http://stackoverflow.com/questions/8106159/net-contextswitchdeadlock-was-detected/8106274#8106274)。 –

回答

1

這可能是因爲你的主線程或UI線程是由長計算操作受阻。與UI線程上的數據庫交互或其他計算負責解決此問題。可能你的代碼違反了基本的STA原則。