Pregunta

Tengo una página temática por lo que el tema se elige dentro de un módulo HTTP.

public void context_PreRequestHandlerExecute(object sender, EventArgs e)
{
    Page p = HttpContext.Current.Handler as Page;

    if (p != null)
    {
        //get theme
        string theme = GetTheme(HttpContext.Current.Request.Url.Host);

        Debug.WriteLine(String.Format("Loading theme {0}", theme));

        //set theme of page
        p.Theme = theme;
    }
}

Ahora, cuando solicito el elmah.axd se lanza la siguiente excepción:

El uso de archivos CSS temáticas requiere un control de cabecera de la página. (Por ejemplo).

Cuando desactivo el módulo http tema todo está bien y se muestra la página elmah.axd. Creo que este es un pequeño fallo en el interior del ErrorLogPage. El ErrorLogPage debe hacer frente al hecho de que un tema se puede dar a la página o debe ignorar el tema dado en absoluto.

Por ahora el uso de la solución:

private const string ELMAH_ERROR_PAGE = "Elmah.ErrorLogPage";

        if (p.GetType().FullName != ELMAH_ERROR_PAGE)
        {
            p.Theme = theme;
        }

¿Tiene alguna idea mejor o pensamientos?

Gr

Martijn

Los Países Bajos

¿Fue útil?

Solución

Una solución a su problema ha sido respondida antes:
  excluir ciertas páginas de usando un HTTPModule .

  

Se podría utilizar un lugar HTTPHandler   de un HTTPModule. Los manipuladores que permiten   especificar una ruta al declararlas   en Web.Config.

<add verb="*" path="/validate/*.aspx" type="Handler,Assembly"/>
     

Si tiene que usar un HTTPModule, se   podría simplemente comprobar la ruta de la   solicitar y si se trata de un ser   excluidos, pasar por alto la validación.

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