Arka Plan: Windows XP ve Windows PostReady 2009 PC'lerde çalışan bir .NET 3.5 WPF "Prism" tabanlı uygulama var. Uygulama, her gece (C# çağrısı ile "shutdown.exe" aracılığıyla) kapatılan ve sabahları (Wake-on-LAN üzerinden) yeni önyüklenen bilgisayarlarda çalışır. Uygulama dokunmatik (ELO dokunmatik ekranlar kullanarak), takılı fare veya klavye yok ve kullanıcıların Windows'a erişimi yok.WPF Uygulama Hataları ve .Net Framework Onarımları
Yayın: İki şeyden birinin gerçekleştiği sorunları düzenli olarak görüyoruz; Uygulama doğru yüklenmiyor gibi görünüyor ve boş bir beyaz formunu görüyoruz, ya da dokunmaya yanıt vermiyor. (Log4net) günlüklerimize bakmadan, hala dokunma olaylarını ele aldığımızı ve her iki durumda da çıkış yaptığımızı görebiliyoruz. Genellikle bu, görünümleri değiştirirken ortaya çıkar ve Prism RegionManager'ın uygun şekilde görünümleri kaldırıp eklediği günlüklerde de görürüz.
giderme: Uygulama Clonezilla'nin ile uygulanan görüntüleri kullanarak yaklaşık ~ 100 PC'ler üzerinde çalışan ve bu sadece düzensiz gerçekleşir. Tüm PC'lerde olmadığından ve Olay Görüntüleyicide bir sorun olduğuna dair herhangi bir istisna ya da herhangi bir durum olmadığı için, daha fazla PC ve OS seviyesinde düzeltmelere başvurduk. Spesifik olarak, uygulamayı ve PC'leri ara sıra kısa vadeli başarı ile yeniden başlatmayı denedik - bu bazen uygulamanın yeniden başlatılmasından sonra düzgün bir şekilde çalışacağı anlamına geliyor, ama sadece en fazla saat meselesi. Ayrıca, uygulamanın bir şekilde bozulduğu ve başarılı bir şekilde kaldırdığımız ve yeniden yüklediğimiz varsayımı altında çalıştık.
Sorunu çözen tek şey, sağlanan. Net 3.5 SP1 Yükleyici paketini kullanarak .Net çerçevesinin onarımıdır.
Sonuç: - Ya kodu veya PC'de önyükleme/kapatma prosedürleri yoluyla bu yana biz nasılsa bir GAC'd çerçeve dll bozulmasını olduklarını görebiliyoruz, başka bir şey yaptığında sorunu çözmek gibi görünüyor.
Sorular: Bu soruların bir dizi yol açar: Biz ayrıca sorunun kaynağını tespit edebilirsiniz nasıl
- Herhangi bir fikir?
- Bu sorunu önlemek için neler yapabileceğimiz hakkında bir fikriniz var mı?
- Temel sorunun ne olabileceğine dair herhangi bir fikir var mı?
Yardımlarınız için teşekkür ederiz.
Anlatmak zor… Herhangi bir çok iş parçacığınız var mı? GUI iş parçacığı dışındaki herhangi bir olay tetiklendi mi? – stmax
Herhangi bir zamanda birkaç farklı konu var.Çoğunlukla BackgroundWorker nesneleri olarak oluşturulurlar, ancak bazıları ThreadStart ile açık bir şekilde Thread nesneleri oluşturulur. İşçiler genellikle kısa ömürlüdürler (yaratın, bir kez çalıştırın, yok edin) ve İplikler genellikle uzun sürer (uygulamanın ömrü boyunca işe başlar). Priz toplayıcı olayları GUI iş parçacığı üzerinde oluşturulur. –
Bu makinelerde herhangi bir katı hal sürücü donanımı var mı, yoksa hepsi ucuz sabit disklerle mi çalışıyorlar? Ahh. –