Castillo MonoRail & amp; ELMAH
-
07-07-2019 - |
Pregunta
¿Alguien está usando Castle MonoRail y ELMAH con éxito?
Estamos utilizando una serie de Resuces para presentar a los usuarios mensajes de error amigables, pero si hacemos esto, las excepciones nunca llegarán tan lejos como ELMAH ya que el rescate MonoRail los intercepta.
Idealmente, queremos que el usuario vea el rescate, pero que la excepción se registre en ELMAH.
¿Alguna idea / puntero?
Saludos,
Jay.
Solución
Después de mirar los enlaces que Macka publicó, escribí este sencillo manejador de excepciones de monorriel:
public class ElmahExceptionHandler : AbstractExceptionHandler {
public override void Process(IRailsEngineContext context) {
ErrorSignal.FromCurrentContext().Raise(context.LastException);
}
}
Luego lo registré en web.config, sección de monorriel:
<monorail>
<extensions>
<extension type="Castle.MonoRail.Framework.Extensions.ExceptionChaining.ExceptionChainingExtension, Castle.MonoRail.Framework"/>
</extensions>
<exception>
<exceptionHandler type="MyNamespace.ElmahExceptionHandler, MyAssembly"/>
</exception>
...
</monorail>
Y eso es todo.
Otros consejos
Después de publicar también en Grupos de Google parece que Atif puede me ha señalado en la dirección correcta.
Es posible que desee ver el error señalización en ELMAH. Está diseñado para escenarios en los que desea pasar un excepción a través de la tubería de ELMAH incluso si se está manejando / tragando. Aquí hay algunos consejos para comenzar con señalización de error:
- http://code.google.com/p/elmah/wiki / DotNetSlackersArticle # Error_Signa ...
- http://code.google.com/p/elmah/wiki / DotNetSlackersArticle # Signaling_e ...
-Atif