J'ai ma configuration de gestion des erreurs pour suivre toutes les exceptions et écrire les informations dont nous avons besoin à une base de données et envoyer un courriel aux développeurs qui ont besoin de connaître l'erreur afin de répare le. Le problème que je rencontre est lorsque l'erreur se produit avant le chargement complet de la page. Dans ce cas, les variables de session que je veux suivre ne sont pas disponibles dans Application_Error. Donc, je fais ce qui suit afin que je ne reçoive pas une erreur dans ma gestion des erreurs, mais il doit y avoir un meilleur moyen. En outre, si la page se charge et que l'erreur se produit lors de la soumission du formulaire, les variables de session sont disponibles.ASP.NET C# Application_Error dans Global.asax ne peut pas accéder aux variables de session
try
{
user_name = System.Web.HttpContext.Current.Session["User_Name"].ToString();
user_number = System.Convert.ToInt32(System.Web.HttpContext.Current.Session["User_Number"].ToString());
}
catch (Exception ex)
{
user_number = 0;
user_name = "N/A";
}
Toute aide est grandement appréciée. Merci!
Salut Harpo, Merci pour votre réponse! Actuellement, notre journalisation des erreurs attrape les erreurs page par page et les renvoie à l'utilisateur (stupide je sais) mais si nous avons trace sur alors vous voyez les informations de session dans la trace. Il doit y avoir un moyen d'obtenir cette information sur l'événement application_error? –
Encore une fois, une erreur peut être déclenchée à tout moment, y compris des points dans le cycle de vie de la page avant que la session ne soit disponible pour la page. Il n'y a pas de règle que la session ne peut pas être nulle. Il est donc raisonnable, voire prudent, d'effectuer cette vérification. – harpo