Pregunta

¿Hay una manera de excepciones de filtros en Elma utilizando el mensaje de excepción?

Ejemplos:
"System.Web.HttpException: Tiempo de espera agotado". No quiero para filtrar todas las HttpException, sino solamente las peticiones en tiempo de espera superado.
"System.Web.HttpException: Longitud máxima solicitud excedido."

Lo que no quiero hacer es escribir código propio para eso. Entonces, ¿es posible hacer esto con el edifi-web.config configuración?

Gracias!

¿Fue útil?

Solución

Sí se puede. Sólo tiene que utilizar una expresión regular para interrogar el mensaje. Véase el siguiente ejemplo para obtener detalles sobre cómo comparar el mensaje de excepción.

<errorFilter>
  <test>
    <!-- http://groups.google.com/group/elmah/t/cbe82cee76cc6321 -->
    <and>
      <is-type binding='Exception'
               type='System.Web.HttpException, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' />
      <regex binding='Exception.Message'
             pattern='invalid\s+viewstate'
             caseSensitive='false' />
      <regex binding='Context.Request.UserAgent'
             pattern='Trident/4(\.[0-9])*'
             caseSensitive='false' />
    </and>
  </test>
</errorFilter>

Otros consejos

Puede configurar un controlador de eventos en su Global.asax para evitar ajustes de configuración de expresiones regulares fea:

void ErrorMail_Filtering(object sender, Elmah.ExceptionFilterEventArgs e) 
{     
    if (e.Exception.Message.Contains("Request timed out"))
        e.Dismiss(); 
}

error Filtrado .

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