ContextSwitchDeadlock hata Algılandı C#
C çalıştırıyorum# uygulama ve çalıştırma aşağıdaki hatayı alıyorum sırasında
CLR, 60 saniye COM bağlamında geçiş COM içeriği 0x20e5f0 için 0x20e480 için başarılı olamadı. Hedef içerik/Daire sahibi olan iş parçacığı büyük ihtimalle de olmayan bir pompalama bekle işin yoksa Windows mesajları pompa olmadan çok uzun süren bir işlem. Bu durum genel olarak olumsuz bir etkisi vardır ve hatta duyarlı olmayan ya da bellek kullanımı zaman içinde sürekli biriken olma uygulamasına neden olabilir. Bu sorunu önlemek için, akıtılan grup (STA) tek iş parçacığı pompalama bekle ilkel (CoWaitForMultipleHandles gibi) kullanın ve düzenli olarak uzun süren operasyonlar sırasında mesaj pompa gerekir.
Herkes bu konuda lütfen bana yardım edebilir mi?
Çok teşekkürler.
CEVAP
Programın ana iş parçacığı meşgul bir dakika için kod yürütmektedir. Normal görevlerini dikkat, ileti döngüsü pompalama alıyor. Bu bir iş parçacığı COM sunucuları kullandığınızda yasadışı: ana iş parçacığı boşta tekrar gidene kadar sevk edilemez yöntemlerini çağırır.
Kolay görünür, UI buz gibi soğuk olması gerekir. Windows görüntüleyen bir hayalet ile ana pencere değiştirilmesi gerektiğini "Yanıt vermiyor". Pencere çalışmaz kapanış, Hayır ' ı tıklatın olayları herhangi bir etkisi yoktur.
Ana konu her ne yapıyorsa bir iş parçacığı tarafından yerine yapılmalıdır. BackgroundWorker
sınıf, çok çeşitli kullanım MSDN Kitaplığı makale yardım için bulabilirsiniz bu iş için iyi. Tüm Ara hata Ayıklama kullanın, eğer ana konu ne yapıyor hiçbir fikrim yok Windows iş Parçacığı, hata Ayıklama.
Bir daha olası neden: emin VS2005 RTM sürümünü kullanıyorsanız, service pack 1 yükleyin.
'geri gönderme İşlemi sırasında n...
C# Hata: Üst 0 bağımsız değişken götür...
Hata 'jquery-2.0.2.min.harita bul...
C başlık &;__lt hata ayıklama> kayıp...
git rebase: &; hata: "'dosya açıl...