Кажется, что ELMAH не может заманить в ловушку
ошибки
ELMAH до некоторой степени ловит собственные ошибки. Если ErrorLogModule
обнаруживает исключение при попытке записать ошибку, то исключение, возникающее при ведении журнала, отправляется в стандартное средство трассировки .NET Framework. См. строка 123 из источников 1.0. См. Также следующий обзор документации ASP.NET для получения стандартной трассировки .NET Framework, работающей с трассировкой ASP.NET:
Пошаговое руководство. Интеграция трассировки ASP.NET с трассировкой System.Diagnostics
файл AXD недоступен, когда
Сбой журнала базы данных SQL.
Это правильно. Подключение к базе данных SQL Server должно быть функциональным для просмотра ошибок, хранящихся в базе данных SQL Server при использовании SqlErrorLog
.
Что такое предполагаемое поведение ELMAH
если база данных недоступна?
Если, например, база данных SQL Server не работает, во время ведения журнала произойдет SqlException
. Затем ELMAH отправит содержимое объекта SqlException
в стандартное средство трассировки .NET Framework.
Как я могу диагностировать свои ошибки, если это
происходит?
Наилучшим вариантом здесь также является ведение журнала и сообщений об ошибках по электронной почте. Если база данных не работает, велика вероятность того, что почтовый шлюз работает, и вы все равно будете получать уведомления об ошибках. В результате ошибки в некоторых почтовых ящиках регистрируются . Это также имеет дополнительное преимущество, заключающееся в том, что если почтовый шлюз когда-либо не работает, есть вероятность, что база данных будет работать, и ошибки будут регистрироваться там. Однако, если оба не работают, вам нужно будет серьезно пересмотреть производственную инфраструктуру и, возможно, принять меры для мониторинга работоспособности вашей системы с помощью дополнительных мер.