Accueil > > > EMPÊCHER LES ERREURS DES USERSCONTROLS DE FAIRE PLANTER TOUTE LA PAGE
EMPÊCHER LES ERREURS DES USERSCONTROLS DE FAIRE PLANTER TOUTE LA PAGE
Information sur la source
Description
Ce code fait la même chose (en mieux :p) que cette source de jesusonline : http://www.aspfr.com/codes/EVITER-ERREURS-USERCONT ROLS-ARRETENT-FONCTIONNEMENT-PAGE_36510.aspx, bien que l'approche soit radicalement différente. Tout tient en fait dans une des méthodes de la classe Page : ProcessRequest(HttpContext context) J'ai mis dans le Zip un exemple : une page avec 3 UserControls et un bouton pour faire lancer une exception dans un des UserControls.
Source
- // J'ai une liste des UsersControls à charger qui se trouve dans une variable de sessions : Session["Ucs"]
- // On va utiliser cette liste pour rechercher quel est l'UC qui cause l'erreur
- // Le contenu de la méthode ProcessRequest(HttpContext context) :
-
- public override void ProcessRequest(HttpContext context)
- {
-
- // dans le ProcessRequest, on attrappe toutes les exceptions
- try
- {
- base.ProcessRequest(context);
- }
- catch (Exception ex)
- {
- // on recheches dans la StackTrace de l'exception quel est l'usercontrol qui apparait
- string UcToRemove = "";
- foreach (string item in (System.Collections.Generic.List<string>)Session["Ucs"])
- {
- if (ex.InnerException.StackTrace.Contains(item.Replace(".ascx","")))
- {
- // si on a trouvé l'UserControl qui cause l'erreur, on note son nom
- UcToRemove = item;
- }
- }
- if (UcToRemove != "")
- {
- // ensuite on l'enlève de la liste des UC à charger
- // donc, plus aucun bug :D
- ((System.Collections.Generic.List<string>)Session["Ucs"]).Remove(UcToRemove);
-
- // on redirige la page sur elle même pour la recharger entièrement
- // mais sans l'UC qui ne marche pas :)
- System.Web.HttpContext.Current.Response.Redirect(System.Web.HttpContext.Current.Request.Url.ToString());
- }
- else
- {
- throw;
- }
- }
// J'ai une liste des UsersControls à charger qui se trouve dans une variable de sessions : Session["Ucs"]
// On va utiliser cette liste pour rechercher quel est l'UC qui cause l'erreur
// Le contenu de la méthode ProcessRequest(HttpContext context) :
public override void ProcessRequest(HttpContext context)
{
// dans le ProcessRequest, on attrappe toutes les exceptions
try
{
base.ProcessRequest(context);
}
catch (Exception ex)
{
// on recheches dans la StackTrace de l'exception quel est l'usercontrol qui apparait
string UcToRemove = "";
foreach (string item in (System.Collections.Generic.List<string>)Session["Ucs"])
{
if (ex.InnerException.StackTrace.Contains(item.Replace(".ascx","")))
{
// si on a trouvé l'UserControl qui cause l'erreur, on note son nom
UcToRemove = item;
}
}
if (UcToRemove != "")
{
// ensuite on l'enlève de la liste des UC à charger
// donc, plus aucun bug :D
((System.Collections.Generic.List<string>)Session["Ucs"]).Remove(UcToRemove);
// on redirige la page sur elle même pour la recharger entièrement
// mais sans l'UC qui ne marche pas :)
System.Web.HttpContext.Current.Response.Redirect(System.Web.HttpContext.Current.Request.Url.ToString());
}
else
{
throw;
}
}
Conclusion
Je n'ai pas encore trouvé de moyen de contourner cette méthode, mais il doit sans doute y en avoir...
Si il y en a, n'hésitez pas, les commentaires sont là pour ça :p
Historique
- 26 mars 2006 20:19:57 :
- orthographe...
- 27 mars 2006 17:11:11 :
- ZIP
- 29 mars 2006 15:08:23 :
- ZIP (bis)
- 03 avril 2006 22:31:29 :
- ZIP !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Erreur 404 [ par charlix ]
Bonjour,Comment faire pour changer la page 404 en fonction du repertoire dans lequel on est.Pour l'application, l'aide est dans uhn repertoire a part.
Échec de Server.CreateObject [ par YounB ]
J'ai installé PWS 4.0 sous Windows98 S.E,et j'ai cette ... de page d'erreur qui s'affiche a chaque fois que j'ai une page qui contient:[Server.CreateO
erreur d'automation en ASP [ par patfac1 ]
Je suis en train de me mettre à l'ASP ;-) alors soyez pas moqueurs :DJ'ai fait une page , je l'heberge sur mon serveur local ( IIS de winXP pro ) et
Code d'erreur '800a01a8' dans une page ASP. [ par Noro ]
Lors de l'execution d'un vbscript sur une page ASP, où j'essaye d'afficher les informations de la requête dans des zones de texte. par exemple:documen
ASP et Exception [ par toto0101 ]
J'ai cette erreur en ASP"error '80020009' Une exception s'est produite. "L'erreur se trouve dans ces lignes mais je ne vois pas ou, si quelqu'un pourr
Erreur Timeout : message personalisée ? [ par DataJim ]
BonjourJe souhaite modifier le message "Pages ASP error 'ASP 0113' Délai d'exécution du script dépassé "pour mettre un message d'erreur personalisé.So
Message d'erreur [ par LostWorld ]
Salut, Je débute en ASP (suis webdesigner à la base) et il parait que "Option explicit" est quelque chose de vachement conseillé. Moi je veux bien l'u
pb sondage!!!! [ par ronando ]
J'ai un pb avec un sondage...tout ce passe bien lorsque celui ci est inserer ds une page HTML mais des qu'il est dans une page ASP il bug ..avec comme
Erreur sur une page html [ par loufi66 ]
J'ai tapé un script (html,asp et vbscript) et lorsque je lance la page, je reçois un message d'erreur.Erreur de compilation Microsoft VBScript erreur
Récupération des erreurs [ par Benz ]
Bonjour,J'aimarais savoir s'il existe une fonction qui permet de récupérer n'importe quel type d'erreur.J'ai placé dans en haut de ma page :On Error
|
Derniers Blogs
TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0 par odewit
Je viens de publier la version 3.0 de Perspective pour Silverlight, qui regroupe un portage sous Silverlight 5.0 des fonctionnalités de Perspective 2.0, le framework 3D de haut-niveau introduit récemment et de nouveaux exemples de code. En voici la li...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|