Question

I ai une page sur le thème de sorte que le thème est choisi à l'intérieur d'un module de 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;
    }
}

Maintenant, quand je demande la elmah.axd l'exception suivante est levée:

En utilisant le thème des fichiers CSS nécessite un contrôle d'en-tête sur la page. (Par exemple).

Lorsque je désactive le tout module de thème http est très bien et la page elmah.axd est affichée. Je pense que c'est un petit bug dans la ErrorLogPage. Le ErrorLogPage doit faire face au fait qu'un thème peut être donné à la page ou doit ignorer le thème donné du tout.

Pour l'instant j'utilise la solution de contournement:

private const string ELMAH_ERROR_PAGE = "Elmah.ErrorLogPage";

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

Avez-vous des meilleures idées ou pensées?

Gr

Martijn

Les Pays-Bas

Était-ce utile?

La solution

Une solution à votre problème a été répondu avant:
  Exclure certaines pages de l'aide d'un HttpModule .

  

Vous pouvez utiliser un HTTPHandler à la place   d'un HttpModule. Handlers vous permettent   spécifier un chemin lorsque vous les déclarez   dans web.config.

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

Si vous devez utiliser un HttpModule, vous   pourrions simplement vérifier le chemin du   demander et si elle est un être   exclus, contourner la validation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top