Bonjour,
Je m'y prends peut-être mal, mais je n'arrive pas à faire ce que je veux :
Pour récupéré les infos d'une erreur (via : Server.GetLastError().GetBaseException(); ). Pour cela j'ai une page Error.aspx, ou je voulais récupérer cette infos. Ceci me provoque un "System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet. à X.Error.Page_Load(Object sender, EventArgs e)".
Du coup je me suis dis (aidé par quelques posts sur le net) d'essayer de récupérer l'erreur dans un global.asax et de l'envoyer en session que je récupère sur Error.aspx
Voici donc ce que j'ai sur global.asax
et dans Error.aspx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void Application_Error(object sender, EventArgs e) { Session["retour"]="Retour"; if(Server.GetLastError() != null) { Exception ex = Server.GetLastError().GetBaseException(); Session["ex"] = ex; Server.ClearError(); Server.Transfer("~/Error.aspx"); } else { Session["retour"] = "Aucun retour"; } }
Mais je n'ai rien en sortie si ce n'est : ObjErr non récupéré, retour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Exception objErr = (Exception)Session["ex"]; if (objErr != null) { Response.Write(objErr.Message); } else { string str = (string)(Session["retour"]); Response.Write("ObjErr non récupéré, retour : "+ str); }
Or je devrais au minimum avoir retour: retour, et au mieux Aucun retour me confirmant ou non si je peux acceder à Server.GetLastError() dans mon fichier global.asax.
merci d'avance de toute aide,
Cordialement
Partager