2009-07-17 17 views
2

Application_Error ne fonctionne pas avec le mode intégré mais fonctionne avec le mode Classe. Je voudrais transférer la demande à la page d'erreur en utilisant à la fois le mode intégré et le mode classe. Est-ce que ceci peut être fait ou je dois employer le module HTTP afin de soutenir les deux modes?Global.asax Application_Error ne fonctionne pas avec le mode intégré

protected void Application_Error(object sender, EventArgs e) 
{ 
    if (Context != null && Context.IsCustomErrorEnabled) 
    { 
     Server.Transfer("~/Error.aspx", false); 
    } 
} 
+0

http://weblogs.asp.net/reganschroder/archive/2008/07/25/iis7-integrated-mode-request-is-not-available-in-this-context-exception-in-application-start .aspx – user81740

+0

Présentation du cycle de vie de l'application ASP.NET pour IIS 7.0 http://msdn.microsoft.com/en-us/library/bb470252.aspx – user81740

+0

Vous pouvez écrire un module HTTP qui gère les erreurs. Similaire à celui-ci: http://msmvps.com/blogs/vcsjones/archive/2008/12/26/managing-iis-pipeline-mode-for-backward-compatibility.aspx – user81740

Répondre

0

Vous devez utiliser HttpContext.Current (HttpContext est une classe statique). Donc, où vous utilisez maintenant le contexte, changer cela à HttpContext.Current

0

Vous pouvez essayer de changer votre code de Server.Transfer à Server.TransferRequest. Voir ma réponse à une autre question here.

+0

Je ne crois pas que l'événement Application_Error se déclenchera même en mode intégré ... ai-je tort? –