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.

¿Fue útil?

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:

           

-Atif

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top