Le développement de site Web
Bien que nous sachions comment créer différents types de tache en ASP.NET, il est très souvent nécessaire de comprendre comment interagir directement avec les Services d’Information Internet (IIS). Ainsi, grâce à cette interaction, nous allons voir comment créer les différentes taches suivantes :
– Rattraper les exceptions non gérées – Consulter ou modifier le fichier de configuration de notre application Web – Lancer des taches en mode Asynchrone – Générer dynamiquement différents types de fichier
La levée d’une exception d’une page et d’une application
La levée d’exception est le moyen le plus efficace pour rattraper des erreurs dans de petites portions de code. Par exemple, il est très courant (voire recommandé) de mettre un bloc try/catch entre une connexion à une base de données pour prévoir une surcharge de connections ou bien tout simplement pour palier à une impossibilité de joindre notre base de données.
Ce cours n’ayant pas pour but de vous former à l’utilisation de block try/catch nous considèrerons cette leçon comme acquise. Dans le cas contraire veuillez vous référer aux cours de C# et VB.NET.
Bien que vous prévoyiez un maximum d’erreurs dans vos blocks try/catch il peut arriver que cela ne suffise pas et que certaines erreurs que vous n’aviez pas prévues, se présentent. Il est possible de récupérer ces erreurs qui ne résoudront pas le problème mais pourront informer l’utilisateur du problème.
L’évènement Page_Error
Pour récupérer les erreurs sur la page, il faut créer un gestionnaire d’évènement Page_Error dans chaque page afin de pouvoir gérer l’évènement Error. Le gestionnaire d’évènement prend en paramètre un Object et un EventArgs, mais en règle générale il est inutile de se préoccuper de ces deux paramètres. Une fois à l’intérieur de notre gestionnaire d’évènement on peut utiliser les méthodes suivantes :
– Server.GetLastError() qui permet de retrouver la dernière erreurs en date ; – Server.ClearError() qui permet d’effacer les erreurs en queue ; – Trace.Write() est une fonction qui permet d’afficher le contenue de nos erreurs.
L’évènement Application_Error
Il est également possible de lever une erreur au niveau de l’application entière. Cette autre méthode nous permet de ne plus être obligé de créer un gestionnaire d’évènement Page_Error sur chaque page de notre application, mais de nous renvoyer vers une même page qui traitera toutes les erreurs. Pour procéder ainsi, il faut ajouter à notre projet l’élément Global Application Class qui est unique pour chaque application. Tous les évènements dont nous pouvons avoir besoin sont automatiquement ajoutés par Visual Studio.