Используйте ELMAH для регистрации ошибок базы данных - PullRequest
4 голосов
/ 05 марта 2010

Я использую ELMAH для обработки исключений в моем проекте ASP.Net MVC. Я хотел бы использовать его для регистрации ошибок, таких как тайм-аут соединения с базой данных, тайм-аут соединения с запросом и другие. Это возможно с ELMAH?

Ответы [ 2 ]

5 голосов
/ 05 марта 2010

Если вы разрешите распространению исключения на веб-модуль Elmah, оно автоматически зарегистрирует эти исключения.

Однако вы можете программно войти непосредственно в Elmah, для этого есть несколько способов:

Вы можете использовать такой код в предложении catch в коде:

try{....}
catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); }

Еще один способ сделать это:

Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));

Я бы, однако, обернул этот код в более общий интерфейс стиля IErrorLogger, чтобы ваш код нижнего уровня не нуждался в жесткой зависимости от самого Elmah

0 голосов
/ 05 марта 2010

Я не знаю, есть ли это с ELMAH (никогда не использовал его), но вы можете сделать все это с MS Ent Libs, которые легко настраиваются.

http://msdn.microsoft.com/en-us/library/cc467894.aspx

http://entlib.codeplex.com/wikipage?title=EntLib5%20Beta1

...