Windows Forms uygulamasıyla çalışıyorum ve veritabanından verileri düzenli olarak kontrol etmek için System.Timers.Timer kullanan bir yönetici sınıfını çalıştırıyorum.Zamanlayıcı Elapsed olayında gerçekleşen Özel Durum'u nasıl alabilirim?
Zamanlayıcı Elapsed eventhandler uygulamasında ana özelliğe uygulanan Özel Durum'u nasıl alabilirim? Aşağıdaki kodu kullanıyorum, istisna get "yutuldu" ve ana uygulama asla (ThreadException ve UnHandledException için işleyiciler varsa bile) alır. olay işleyicisi atılmış
// Main Form
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
// Manager class
private System.Timers.Timer _timer;
void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
doSomeDatabaseActions();
}
catch (Exception ex)
{
throw new ApplicationException("How do I get this error back into main thread...", ex);
}
}
Kod Örneği Lütfen? – hrh
Sanırım anladım, ana iş parçacığımdaki bir işlevin istisnasını geçtim ve bu işlevin istisnayı atmadan önce this.Invoke() işlevini kullandı. Bunu doğru anlıyor muyum? – hrh
.net 4.5'de beklenmedik hataları yakalamak için herhangi bir yeni yöntem var mı? Hala yutar ve orada hiçbir _timer_Elapsed yakalama yakalama olmadan hataları günlüğe kaydetmek için orada değiliz? – MonsterMMORPG