Sembra che ELMAH non può intrappolare le proprie errori
ELMAH fa intercettare i propri errori in una certa misura. Se ErrorLogModule
riscontra un'eccezione durante il tentativo di registrare l'errore, l'eccezione risultante dalla registrazione viene inviata alla funzione di traccia di .NET Framework standard. Vedi line 123 from 1.0 sources. Vedere anche il seguente walk-through dalla documentazione ASP.NET per ottenere il tracciamento .NET Framework standard di lavoro con ASP.NET tracciamento:
Walkthrough: Integrating ASP.NET Tracing with System.Diagnostics Tracing
il file AXD non è disponibile quando il Registro databse SQL non riuscito.
Che è corretto. La connettività del database SQL Server deve essere funzionale per visualizzare gli errori memorizzati in un database SQL Server quando si utilizza SqlErrorLog
.
Qual è il comportamento previsto di ELMAH se il database non è disponibile?
Se, ad esempio, il database di SQL Server è inattivo, durante la registrazione si verificherà un SqlException
. ELMAH invierà quindi il contenuto dell'oggetto SqlException
alla funzione di traccia standard di .NET Framework.
Come posso diagnosticare i miei errori se si verifica questo ?
L'opzione migliore è quello di consentire anche la registrazione e di e-mail di errori. Se il database è inattivo, è probabile che il gateway di posta sia attivo e riceverai comunque una notifica degli errori. Gli errori, in effetti, avranno registrati in alcune cassette postali. Questo ha anche il vantaggio aggiunto che se il gateway di posta è mai abbassato, è probabile che il database sia attivo e gli errori vengano registrati lì. In entrambi i casi, tuttavia, sarà necessario rivedere seriamente l'infrastruttura di produzione ed eventualmente adottare misure per monitorare lo stato del sistema tramite misure aggiuntive.
fonte
2009-06-16 22:45:54
+1 per pensare/testare gli scenari peggiori PRIMA che accadano! –