c# CLR hatası
Bu akşam visual Studio 2010 ortamında c# ile uğraşırken aldığım bir hatayı ve çözümünü paylaşıcam. C# ta uzun bir işlem başlatmıştım ama her çalıştırdığımda 60 sn sonra vs bana ContextSwitchDeadlock was detected
” CLR, 60 saniye içinde 0x46fae0 COM içeriğinden 0x46fc50 COM içeriğine geçemedi. Hedef içeriğe/gruba sahip olan iş parçacığı büyük olasılıkla pompalamayan bekleme yapıyor veya Windows iletileri pompalamadan çok uzun süreyle çalışan bir işlemi işliyor. Bu durum performansı genellikle kötü etkiler ve uygulamanın yanıt vermemesine veya bellek kullanımının zaman içinde sürekli artmasına neden olabilir. Bu sorunu önlemek için, tüm tek iş parçacıklı (STA) grup iş parçacıklarının bekleme komutları (örn. CoWaitForMultipleHandles) pompalaması ve uzun süre çalışan işlemler sırasında da düzenli olarak ileti pompalaması gerekir. “
hatasını verdi. Bunu gidermek çokta zor değilmiş 🙂 yapılması gerekenler sırasıyala
Debug menüzünde –Exceptions – tıklamak oradan da Managed Debug Assistanss ın altında bulunan ContextSwitchDeadlock taki check işaretini kaldırmak daha sonra programınız hata vermeyecektir.
Umarım işinize yarar iyi çalışmalar