SORU
16 NİSAN 2013, Salı


tüm işlenmemiş özel durumları yakalamak ASP.NET Web Apı

Nasıl yakalamaktümASP.NET Web oluşan özel durumlar onları günlük ben öyle Apı işlenmeyen?

Şimdiye kadar çalıştık:

  • Oluşturun ve ExceptionHandlingAttribute bir kayıt
  • Global.asax.cs Application_Error bir yöntemi uygulamak
  • AppDomain.CurrentDomain.UnhandledException abone olun
  • TaskScheduler.UnobservedTaskException abone olun

ExceptionHandlingAttribute başarıyla denetleyicisi eylem yöntemleri ve eylem filtreler içinde atılan istisnaları, ama diğer istisnalar, örneğin işlenmez:

  • Özel durumlar IQueryable bir eylem tarafından döndürülen bir yöntemi uygulamak için başarısız olduğunda atılır
  • İstisnalar bir ileti işleyicisi (örneğin HttpConfiguration.MessageHandlers) tarafından oluşturuldu
  • İstisnalar denetleyicisi bir örnek oluştururken atılmış

Eğer bir istisna 500 İç Sunucu Hatası müşteri iade edilmesine neden olacak. Eğer onu açmış istiyorum. Application_Error uygulama yaptım bu işi iyi Web Forms ve MVC Web Apı olarak ne kullanabilirim?

CEVAP
27 Ocak 2014, PAZARTESİ


Bu şimdi 2.1 (What's New) WebAPİ ile mümkündür:

İExceptionLogger bir veya daha fazla uygulamaları oluşturun. Örneğin:

public class TraceExceptionLogger : ExceptionLogger
{
    public override void Log(ExceptionLoggerContext context)
    {
        Trace.TraceError(context.ExceptionContext.Exception.ToString());
    }
}

O zaman şu şekilde: config bir geri arama içinde uygulamanızın HttpConfiguration kayıt

config.Services.Add(typeof(IExceptionLogger), new TraceExceptionLogger());

ya da doğrudan:

GlobalConfiguration.Configuration.Services.Add(typeof(IExceptionLogger), new TraceExceptionLogger());

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • Bogdan Gabriel

    Bogdan Gabri

    5 Aralık 2006
  • superflyy88

    superflyy88

    8 ŞUBAT 2009