Я использую ELMAH для обработки исключений в моем проекте ASP.Net MVC. Я хотел бы использовать его для регистрации ошибок, таких как тайм-аут соединения с базой данных, тайм-аут соединения запроса и других. Возможно ли это с ELMAH?
Используйте ELMAH для регистрации ошибок базы данных
Ответы (2)
Если вы позволите исключению распространяться в веб-модуль Elmah, он автоматически регистрирует эти исключения.
Однако вы можете программно войти прямо в Elmah, есть несколько способов сделать это:
Вы можете использовать такой код в своем предложении catch в коде:
try{....}
catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); }
Другой способ сделать это:
Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));
Однако я бы обернул этот код в более общий интерфейс стиля IErrorLogger, чтобы ваш код более низкого уровня не нуждался в жесткой зависимости от самого Elmah.
person
saret
schedule
05.03.2010
В чем разница, если таковая имеется, между двумя описанными выше методами?
- person ProfK; 27.04.2011
Я не знаю, связано ли это с ELMAH (никогда не использовал его), но вы можете сделать все это с помощью MS Ent Libs, которые легко настраиваются.
http://msdn.microsoft.com/en-us/library/cc467894.aspx
http://entlib.codeplex.com/wikipage?title=EntLib5%20Beta1
person
Adrian K
schedule
05.03.2010
Он уже использует ELMAH ... предлагать ему полностью изменить свой подход - не лучший выбор, когда он действительно уже делает то, что он хочет.
- person Nick Craver; 05.03.2010