2016-05-10 1 views
1

Ich möchte 500 Fehlerseite für Multi-Sites/Multi-Sprachen implementieren, ich bin this article folgen.500 Benutzerdefinierte Fehlerseiten

Aber Application_Error in Global.asax wird nicht ausgelöst. Hier ist mein Code:

<%@ Application Language='C#' Inherits="Sitecore.ContentSearch.SolrProvider.CastleWindsorIntegration.WindsorApplication" %> 
<script RunAt="server"> 

    private void Application_Error(object sender, EventArgs e) 
    { 
     var customErrorsSection = (System.Web.Configuration.CustomErrorsSection)ConfigurationManager.GetSection("system.web/customErrors"); 
     var lastException = Server.GetLastError(); 
     if (customErrorsSection.Mode != System.Web.Configuration.CustomErrorsMode.Off) 
     { 
      try 
      { 
       // Log.Error("There was an error in the application", lastException); 
       Server.ClearError(); 
       HttpContext.Current.Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; 
       Server.Transfer(string.Format("/Error/{0}_500.html", GetSafeLanguage())); 
      } 
      catch 
      { 
      } 
     } 
    } 

    private string GetSafeLanguage() 
    { 
     try 
     { 
      return Sitecore.Context.Language.CultureInfo.TwoLetterISOLanguageName; 
     } 
     catch 
     { 
     } 
     return string.Empty; 
    } 
</script> 
+3

Ich kann diese möglichen Probleme sehen: 1) 'RunAt' sollte spel sein geführt als 'runat'; 2) Stellen Sie sicher, dass die Klasse "WindsorApplication" von "System.Web.HttpApplication" erbt; 3) Versuchen Sie, Ihre Methoden in die Klasse zu legen, die Sie in Global.asax.cs haben, anstatt sie innerhalb von "

Verwandte Themen