2009-07-17 4 views
2

Application_Error nicht mit integriertem Modus arbeiten, aber mit Klasse-Modus funktioniert. Ich würde die Anfrage auf die Fehlerseite übertragen, die sowohl den integrierten Modus als auch den Klassenmodus verwendet. Kann dies getan werden oder muss ich HTTP-Modul verwenden, um beide Modi zu unterstützen?Global.asax Application_Error funktioniert nicht mit integriertem Modus

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

ASP.NET-Anwendung Life Cycle Übersicht für IIS 7.0 http://msdn.microsoft.com/en-us/library/bb470252.aspx – user81740

+0

Sie können HTTP-Modul schreiben, die Fehler behandelt. Ähnlich wie diese: http://msmvps.com/blogs/vcsjones/archive/2008/12/26/managing-iis-pipeline-mode-for-backward-compatibility.aspx – user81740

Antwort

0

Sie sollten HttpContext.Current verwenden (HttpContext ist eine statische Klasse). Wenn Sie nun Context verwenden, ändern Sie das in HttpContext.Current

0

Sie könnten versuchen, Ihren Code von Server.Transfer zu Server.TransferRequest zu ändern. Siehe meine Antwort auf eine andere Frage here.

+0

Ich glaube nicht, dass das Ereignis Application_Error sogar im integrierten Modus ausgelöst wird ... liege ich falsch? –