benim işçi rolündeki tüm işlenmemiş özel durumlar yakalamaya çalışıyorum işlenmeyen bir özel durumu yakalamak nasıl. ancak başarılı (here önerildiği gibi) Run()
yöntem haline catch
blok - Bir try
koyarak çalıştı.Windows Azure (İşçi) Role
public override void Run()
{
try
{
base.Run();
}
catch (Exception ex)
{
Trace.TraceError("Unhandled Exception: {0}", ex);
throw ex;
}
}
rol WCF hizmeti barındırmaktadır ve bu nedenle Run()
yöntemin içinde başka hiçbir mantığı yok. Bu düzeyde istisnaları yakalamak için başka bir olasılık var mı? 1
Güncelleme sorunu açıklığa kavuşturmak için: rol öz bazı işlemler arka plan operasyonlardır (OnStart()
başlatılmış) bir WCF hizmeti barındıran. Hizmet çağrıldığında ve bu yöntem beklenmedik bir istisna atarsa, günlüğüne yazmak için onu yakalamak isterim.
Çözüm: Açıkçası normal bir C# uygulama gibidir: Sadece Rolü OnStart()
içinde bu
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
gibi UnhandledException
etkinliğe bir işleyici ekleyin. Ben bu yüzden bile tüm özel durumları yakalayacak
basitçe 'new Exception ("Test") atar bir kukla işçi rolü ile bu deneyin;' –
rol WCF hizmeti barındıran, hiçbir şey Run() yöntemi içinde gerçekten var. Bundan bahsetmeliydin. – gumo
@gumo: tamam, sonra tabandan önce atışı ekleyin. –