0

J'utilise une pile standard Monorail/Windsor/ActiveRecord pour créer une application Web. Dans l'application Web, les contrôleurs sont enregistrés (pour Windsor) à l'aide d'un fichier de configuration XML.Attraper une exception ControllerNotFoundException dans CastleProject Monorail

Une exception ControllerNotFoundException sera (évidemment) lancée par MonoRailHttpHandlerFactory lorsqu'un contrôleur n'a pas été défini dans le fichier de configuration.

Existe-t-il un moyen d'intercepter cette exception et d'afficher un message personnalisé à l'utilisateur?

Répondre

1

Vous pouvez toujours savoir quelle est l'erreur dans le gestionnaire d'événements Application_OnError() de votre GLobalApplication. Nous faisons quelque chose comme ceci:

public virtual void Application_OnError() 
    { 
     var error = Server.GetLastError(); 

     if (error.GetType() != typeof(ControllerNotFoundException)) 
      return; 

     // We don't want these errors in the event log 
     Server.ClearError(); 

     //Handle page not found 

     Server.TransferRequest("/rescue/pagenotfound"); 
    } 
Questions connexes