2010-01-08 16 views
1

Ainsi, dans le Global.asax est la suivante:Essayer de convertir le fichier Global.asax 1.0 à 3.5 Problèmes liés à la session Application_Error + et Rediriger

Application_Error protected void (object sender, System.EventArgs { session [ "CustomError "] = Server.GetLastError(); Server.ClearError(); Response.Redirect (" ~/ErrorPage.aspx ");}

Et ErrorPage.aspx est ceci:

private void Page_Load (expéditeur d'objet, System.E ventArgs e) { Exception currentException = ((Exception) Session ["CustomError"]). InnerException;

// Ecrit le message d'erreur si (currentException! = Null) txtErrorMessage.Text = currentException.Message;

// Boucle dans les exceptions internes. currentException = (Exception) Session ["CustomError"]; while (currentException! = Null) { message.Append (currentException.Message) .Append ("\ r \ n"). Append (currentException.StackTrace); message.Append ("\ n =================================== ==== \ n "); currentException = currentException.InnerException; }

Comme il s'agit d'un ancien code 1.0, il barfs lorsqu'il est converti en un fichier 3.5 Global.asax. Il me dit que "Session" n'est pas disponible et aussi que je ne peux pas rediriger? Je pense que l'un des problèmes peut être qu'il y a aussi une erreur lancée depuis Application_Start. Mais si je commente tout le code de démarrage de l'application, je reçois toujours des erreurs mais elles ne sont jamais redirigées vers la page d'erreur.

Répondre

0

Ce lien pourrait vous aider: Exceptional Gotchas!. En outre, utilisez le fichier web.config pour définir votre page de redirection par défaut pour les erreurs.