Pregunta

el atributo de rescate de trabajo. Sirve correctamente la vista defaulterror cuando hay una excepción no controlada.

Sin embargo, estas excepciones no conseguirán registrado o enviado por correo electrónico. esta pregunta es SO contestada por Atif Aziz, y se ve bastante sólida, pero se aplica a la incorporada en el HandleErrorAttribute, que sustituye rescate, ¿verdad? ¿Cómo consigo que para trabajar con Rescue? Quiero para asegurarse de que si se produce una excepción no controlada, que el usuario se sirve de la vista especificada con el atributo de rescate, pero la excepción está siendo correctamente conectado, y se podrá ver con elmah.axd.

Actualización:

var currentContext = HttpContext.Current;
Elmah.ErrorSignal.FromContext(currentContext).Raise(ViewData.Model.Exception, currentContext);

He añadido lo anterior a mi modo de ver y de forma adecuada los registros de errores y mensajes de correo electrónico ahora. Sin embargo, no parece que hacer esto en la vista es el derecho cosa. ¿Alguien tiene una idea mejor?

¿Fue útil?

Solución

Puede llamar el registro de Elmah explícitamente de que ViewPage:

using Elmah;

var context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(e, context));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top