• Aucun résultat trouvé

[PDF] Cours Utilisation du Global.asax dans ASP en PDF | Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Cours Utilisation du Global.asax dans ASP en PDF | Cours informatique"

Copied!
11
0
0

Texte intégral

(1)

Applications ASP.NET

.NET Framework 1.1

Une application ASP.NET est définie comme l'ensemble des fichiers, pages, gestionnaires, modules et du code exécutable qui peuvent être appelés à partir d'un répertoire virtuel et de ses sous-répertoires sur le serveur d'une application Web. Vous pouvez utiliser l'un des modèles de programmation ASP.NET dans une application que vous définissez, basée sur les Web Forms ou les services Web XML. Ils doivent cohabiter dans une structure de répertoires virtuelle unique.

Création d'applications Web

ASP.NET

.NET Framework 1.1

ASP.NET fournit un modèle de développement Web unifié qui vous offre les services

nécessaires pour générer des applications Web d'entreprise. ASP.NET n'inclut pas seulement une syntaxe fortement compatible avec ASP (Active Server Pages). Il fournit également un nouveau modèle de programmation et une nouvelle infrastructure qui permettent de créer une nouvelle catégorie d'applications puissantes. Intégré au .NET Framework, ASP.NET vous permet de tirer pleinement parti des fonctionnalités du Common Language Runtime, telles que la sécurité de type, l'héritage, l'interopérabilité entre les langages et le versioning. Cette section fournit des informations conceptuelles sur le fonctionnement de ASP.NET ainsi que des rubriques de procédures vous expliquant comment écrire le code qui tirera

pleinement parti de la puissance de cette nouvelle technologie. Dans cette section

Configuration requise pour la plate-forme ASP.NET

Décrit de façon détaillée le matériel et les logiciels nécessaires pour utiliser ASP.NET. Introduction à ASP.NET

Décrit brièvement toutes les technologies ASP.NET. Procédure pas à pas relative aux applications ASP.NET

Fournit un exemple de déploiement d'une application ASP.NET. L'application contient une structure de répertoire, notamment des racines virtuelles et le répertoire bin, où les assemblys sont stockés et où réside le fichier de configuration de l'application. Considérations relatives à la sécurité des applications Web ASP.NET

(2)

Propose une introduction à la sécurité des applications Web et présente des stratégies élémentaires qui vous permettront de protéger l'application ainsi que votre système. Sécurité des applications Web ASP.NET

Explique en détail comment traiter les problèmes d'autorisation et d'authentification dans les applications Web ASP.NET.

Pages Web Forms

Fournit des informations sur la façon de créer des pages Web basées sur les formulaires qui sont traitées sur le serveur.

Contrôles serveur ASP.NET

Présente les quatre types de contrôles serveur et explique de façon détaillée comment les créer et les programmer dans des pages Web Forms.

Développement de contrôles serveur ASP.NET

Fournit des informations sur les événements, l'implémentation de propriétés, la gestion des états, le rendu, les modèles, la liaison de données, le traitement de publication en retour des données, etc. Cette rubrique propose également des exemples de contrôles complexes effectuant la validation et la liaison de données.

Remarque Les contrôles utilisateur ne sont pas traités dans cette rubrique. Ils sont présentés dans Contrôles utilisateur Web Forms.

Migration de pages ASP vers ASP.NET

Fournit une vue d'ensemble sur les principaux problèmes qui surviennent lorsque vous commencez à développer des pages Web dans l'environnement ASP.NET. Les rubriques traitent des différences structurelles (présentation page), des nouvelles méthodes d'accès aux données et des modifications du langage de programmation Visual Basic.

Accès aux données avec ASP.NET

Présente une vue d'ensemble de l'utilisation de ADO.NET. Les rubriques englobent la liaison de données aux contrôles serveur ASP.NET et l'utilisation de bases de données Microsoft SQL Server par programme.

Applications ASP.NET

Explique comment les applications ASP.NET sont définies et comment utiliser le fichier Global.asax.

Gestion d'état ASP.NET

Fournit des informations sur l'utilisation de l'état de l'application et l'état de session dans vos applications Web.

Prise en charge du runtime HTTP

Fournit une vue d'ensemble de l'utilisation des interfaces IHttpModule et IHttpHandler. Explique comment implémenter et configurer des gestionnaires HTTP personnalisés pour traiter de façon synchrone ou asynchrone des demandes Web HTTP sélectionnées. Explique

(3)

également comment créer des modules HTTP personnalisés pouvant participer à chaque demande.

Fonctionnalités de mise en cache de ASP.NET

Décrit de façon détaillée le fonctionnement des mécanismes de mise en cache de sortie et de données disponibles dans ASP.NET, ainsi que leur utilisation pour faciliter l'optimisation des performances de vos applications Web.

Services Web XML créés à l'aide de clients de service Web XML et d'ASP.NET

Décrit de façon détaillée comment générer des services Web XML créés à l'aide de clients de service Web XML et d'ASP.NET. Les services Web XML sont des applications qui permettent d'échanger des messages dans un environnement faiblement couplé à l'aide de protocoles standard tels que HTTP, XML, XSD, SOAP et WSDL. Ces communications bénéficient d'une grande interopérabilité avec une gamme étendue d'implémentations, de plates-formes et de périphériques. Les messages XML basés sur SOAP et échangés entre un service Web XML et ses clients peuvent avoir des parties bien définies (structurées et typées) ou faiblement définies (utilisant du code XML arbitraire).

Fonctionnalité de traçage ASP.NET

Décrit comment dépanner vos pages Web Forms et vos applications ASP.NET à l'aide de la classe intégrée TraceContext. Cette classe offre des méthodes et des propriétés qui vous permettent d'afficher des informations sur une demande Web dans une visionneuse de trace dans l'application ou dans la page demandée elle-même.

Optimisation ASP.NET

Fournit des informations sur la création, à l'aide de ASP.NET, d'applications Web répondant à vos besoins en matière de performances.

Prise en charge de l'exécution côte à côte dans ASP.NET

Présente la prise en charge côte à côte dans ASP.NET et explique comment configurer les applications ASP.NET pour une exécution côte à côte. Des applications sont exécutées côte à côte lorsqu'elles sont installées sur le même ordinateur, mais qu'elles utilisent des versions différentes du .NET Framework.

Modes d'isolation d'application de Microsoft IIS 6.0

Décrit les modes d'isolation d'application d'IIS 6.0 et explique comment convertir des paramètres de modèle de processus ASP.NET en paramètres de pool d'applications. Rubriques connexes

Syntaxe ASP.NET

Décrit en détail la syntaxe déclarative que vous pouvez utiliser pour créer des fichiers ASP.NET sans l'aide d'un concepteur de développement rapide d'application (RAD, Rapid Application Development). N'importe quelle fonctionnalité ASP.NET peut être créée dans des fichiers texte avec une extension de nom de fichier appropriée. Cela comprend les fichiers de configuration ASP.NET (Web.config), les fichiers d'application (Global.asax), les pages ASP.NET (fichiers .aspx), les contrôles utilisateur (fichiers .ascx) et les services Web

(4)

(fichiers .asmx). De plus, cette section décrit en détail la syntaxe déclarative de tous les contrôles serveur ASP.NET.

Accès aux données avec ADO.NET

Décrit comment accéder aux données dans le .NET Framework. Fournit des informations conceptuelles sur ADO.NET, le successeur de ActiveX Data Objects (ADO), ainsi que des informations détaillées sur son utilisation. Fournit également des informations sur l'accès aux données relationnelles et XML et sur leur utilisation.

Débogage et profilage d'applications

Explique comment examiner et améliorer les performances des applications .NET. Localisation de ressources dans les applications ASP.NET

Décrit comment déployer et extraire des ressources localisées dans des pages et des contrôles ASP.NET.

System.Web, espace de noms

Contient la documentation de référence relative à l'espace de noms System.Web, qui fournit des classes et des interfaces permettant la communication entre les navigateurs et les serveurs Web.

System.Web.Caching, espace de noms

Contient la documentation de référence relative à l'espace de noms System.Web.Caching, qui fournit des classes pour la mise en cache de ressources fréquemment utilisées sur le serveur, indépendamment de la page, du service Web XML, de la session ou de l'application. System.Web.Configuration, espace de noms

Contient la documentation de référence relative à l'espace de noms

System.Web.Configuration, qui fournit des classes utilisées pour configurer ASP.NET. System.Web.Security, espace de noms

Contient la documentation de référence relative à l'espace de noms System.Web.Security, qui fournit des classes utilisées pour implémenter la sécurité ASP.NET dans les applications serveur Web.

System.Web.Services, espace de noms

Contient de la documentation de référence pour l'espace de noms System.Web.Services, composé de classes qui vous permettent de créer des services Web XML à l'aide d'ASP.NET. Les services Web XML sont des applications qui permettent d'échanger des messages d'interopérabilité dans un environnement faiblement couplé à l'aide de protocoles standards tels que HTTP, XML, XSD, SOAP et WSDL.

System.Web.Services.Description, espace de noms

Contient la documentation de référence relative à l'espace de noms

System.Web.Services.Description, qui se compose des classes permettant de décrire de manière publique un service Web XML à l'aide du protocole WSDL (Web Services Description Language).

(5)

System.Web.Services.Discovery, espace de noms

Contient la documentation de référence relative à l'espace de noms

System.Web.Services.Discovery, qui se compose des classes permettant aux clients de services Web XML de localiser ces services sur un serveur Web, via un processus appelé découverte d'un service Web XML.

System.Web.Services.Protocols, espace de noms

Contient la documentation de référence relative à l'espace de noms

System.Web.Services.Protocols, qui se compose des classes définissant les protocoles utilisés pour transmettre les données au cours de la communication entre les services Web XML créés à l'aide d'ASP.NET et leurs clients.

System.Web.UI, espace de noms

Contient la documentation de référence relative à l'espace de noms System.Web.UI, qui fournit des classes, des énumérations et des interfaces prenant en charge l'interface utilisateur visible pour les Web Forms.

System.Web.UI.HtmlControls, espace de noms

Contient la documentation de référence relative aux classes System.Web.UI.HtmlControls qui vous permettent de créer des contrôles serveur HTML sur une page Web. Les contrôles serveur HTML sont exécutés sur le serveur et mappent directement aux balises HTML standard prises en charge par tous les navigateurs. Ces classes vous permettent de contrôler par programme les éléments HTML de la page Web.

System.Web.UI.WebControls, espace de noms

Contient la documentation de référence relative aux classes System.Web.UI.WebControls qui vous permettent de créer des contrôles serveur Web sur une page Web. Les contrôles Web sont exécutés sur le serveur et comprennent des contrôles de formulaires, tels que des boutons et des zones de texte, ainsi que des contrôles spécialisés, tels que Calendar. Ces classes vous permettent de contrôler par programme ces éléments sur une page Web. Le modèle objet contrôles Web ne reflète pas nécessairement la syntaxe HTML.

État de l'application

.NET Framework 1.1

Vous pouvez partager des informations dans votre application en utilisant la classe HttpApplicationState, plus généralement accessible par l'intermédiaire de la

propriété Application de l'objet HttpContext. Cette classe expose un dictionnaire d'objets de type clé-valeur que vous pouvez utiliser pour stocker les objets .NET Framework et les valeurs scalaires relatives aux nombreuses demandes Web émanant de plusieurs clients.

Cette rubrique donne une vue d'ensemble de l'état de l'application, en aborde l'utilisation, présente les collections d'état de l'application et couvre aussi la synchronisation de l'état de l'application.

(6)

Vue d'ensemble de l'état de l'application

Une application ASP.NET est la somme de l'ensemble des fichiers, pages, gestionnaires, modules et du code qui résident dans un répertoire virtuel donné et ses sous-répertoires, que les utilisateurs peuvent demander par l'intermédiaire d'une hiérarchie de répertoires virtuelle. Par exemple, si vous développez une application qui calcule les bénéfices de l'investissement fait pour l'intranet de votre société, vous pouvez la publier dans un répertoire virtuel nommé \Invest sur un serveur Web. La structure de répertoire pour une telle application peut avoir l'apparence suivante :

\Invest \bin \image \xml

Une instance de la classe HttpApplicationState est créée la première fois qu'un client demande une ressource URL à partir de l'espace de noms du répertoire virtuel d'une application ASP.NET particulière. C'est le cas pour chaque application Web stockée sur l'ordinateur. L'accès à cette instance de chaque application est possible grâce à une

propriété HttpContext nommée Application. Tous les modules HttpModule et gestionnaires HttpHandler, comme une page ASP.NET, ont accès à une instance du contexte et donc à la propriété Application pendant une demande Web donnée.

ASP.NET fournit la prise en charge de l'état de l'application suivante :

 Fonctionnalité d'état facile à utiliser, compatible avec les versions antérieures d'ASP, fonctionnant avec tous les langages pris en charge par .NET et cohérente par rapport aux autres API .NET Framework.

 Dictionnaire d'état de l'application à disposition de tous les gestionnaires de demande appelés dans une application. Contrairement aux services IIS (Internet Information Services) et aux versions antérieures d'ASP, où seules les pages peuvent accéder à l'état de l'application, toutes les

instances IHttpHandler et IHttpModule peuvent stocker des variables globales dans le dictionnaire et les en extraire.

 Mécanisme de synchronisation simple et intuitif qui permet aux développeurs de facilement coordonner un accès simultané aux variables stockées dans l'état de l'application.

 Valeurs de l'état de l'application accessibles uniquement à partir du code s'exécutant dans le contexte de l'application d'origine. Les autres applications s'exécutant sur le système ne peuvent pas accéder aux valeurs ni les modifier.

Le moyen le plus courant d'accéder à l'état de l'application est la propriété Application de l'objet Page.

Utilisation de l'état de l'application

En fait, les variables de l'état de l'application sont des variables globales pour une application ASP.NET donnée. Comme les développeurs d'applications côté client, les programmateurs ASP.NET doivent systématiquement considérer l'impact du stockage comme une variable globale.

Les points suivants sont particulièrement importants dans ce contexte :

 Impact sur la mémoire du stockage dans l'état de l'application. La mémoire occupée par les variables stockées dans l'état de l'application n'est pas libérée tant que la valeur n'est pas supprimée ou remplacée, contrairement à une page Web individuelle où toutes les ressources sont détruites à la conclusion d'une demande Web. La

(7)

conservation permanente de jeux d'enregistrements de 10 Mo rarement utilisés dans l'état de l'application n'est pas, par exemple, la meilleure utilisation des ressources système. Pour cet exemple extrême, vous pouvez trouver de meilleures solutions à l'aide du Cache ASP.NET.

 Implications d'accès concurrentiel et de synchronisation du stockage et de l'accès à une variable globale dans un environnement serveur multithread. Plusieurs threads d'une application peuvent accéder en même temps aux valeurs stockées dans l'état de l'application. Vous devez toujours faire particulièrement attention à ce qu'un objet à portée d'application contienne une prise en charge intégrée de la synchronisation s'il est libre de threads. Tous les objets personnalisés qui ciblent le Common

Language Runtime sont libres de threads. Si un objet à portée d'application n'est pas libre de threads, vous devez vous assurer que les méthodes de synchronisation explicites sont codées autour de lui pour éviter les conflits, les conditions de course et les violations d'accès.

 Implications d'évolutivité du stockage et de l'accès à une variable globale dans un environnement serveur multithread. Il faut utiliser des verrous à chaque tentative d'écriture ou de mise à jour dans un fichier. Les verrous qui protègent des ressources globales sont eux-mêmes globaux et le code s'exécutant sur plusieurs threads qui accèdent à des ressources globales finit par être confronté à ces verrous. Ceci conduit le système d'exploitation à bloquer les threads de travail jusqu'à ce que le verrou soit disponible. Dans les environnements serveur à forte charge, ce blocage peut

provoquer une grave surcharge de threads sur le système. Sur les systèmes

multiprocesseurs, cela peut conduire à une sous-utilisation des processeurs (puisque pour un processeur tous les threads peuvent théoriquement être au point mort en attendant un verrou partagé) et à des baisses considérables de l'évolutivité globale.  Implications de cycle de vie des informations stockées dans l'état de l'application. Le

domaine d'application .NET Framework ou le processus hébergeant une application .NET peuvent être détruits à tout moment pendant l'exécution de l'application (résultant de pannes, mises à jour du code, redémarrages programmés du processus, etc.). Étant donné que les données stockées dans l'état de l'application ne sont pas durables, elles sont perdues si l'hôte qui les contient est détruit. Si vous souhaitez que l'état survive à ces types de défaillances, vous devez le stocker dans une base de données ou un autre magasin durable.

 L'état de l'application n'est pas partagé par une batterie de serveurs Web (où une application est hébergée par plusieurs serveurs) ni par un jardin Web (où une application est hébergée par plusieurs processus sur le même serveur). Les variables stockées dans l'état de l'application dans l'un de ces scénarios sont globales

uniquement par rapport au processus particulier dans lequel l'application est en cours d'exécution. Chaque processus d'application peut avoir différentes valeurs. Par conséquent, vous ne pouvez pas compter sur l'état de l'application pour stocker des valeurs uniques ou mettre à jour des compteurs globaux, par exemple, dans les scénarios de batterie de serveurs Web ou de jardin Web.

En dépit de ces points, des variables au niveau de l'application bien conçues peuvent être très puissantes dans les applications Web. Vous pouvez procéder à un chargement et un calcul uniques (ou peu fréquents) des informations puis utiliser l'état de l'application pour les mettre en cache pour un accès en mémoire rapide lors des demandes Web ultérieures.

Un site Web boursier, par exemple, peut saisir des informations financières détaillées (peut-être 40 Mo de données) toutes les 5 minutes pendant la journée à partir d'une base de données puis les mettre en cache dans l'état de l'application où les demandes de recherche ultérieures pourront y accéder. Il en résulte une amélioration considérable de la performance par demande, puisque les demandes entrantes ne nécessitent pas d'allers-retours

(8)

interprocessus, inter-ordinateurs ou vers une base de données. D'autre part, pour les gros blocs de données transitoires, l'utilisation du cache peut être une solution pour mieux employer les ressources.

Collections de l'état de l'application

La classe HttpApplicationState expose deux collections d'état : Contents et StaticObjects La collection Contents expose tous les éléments de variable ajoutés à la collection d'état de l'application directement par l'intermédiaire du code. Par exemple :

VB

' Visual Basic code from within a page, a handler, or Global.asax. Application("Message") = "MyMsg"

Application("AppStartTime") = Now [C#]

// C# code from within a page, a handler, or Global.asax. Application["Message"] = " MyMsg";

Application["AppStartTime"] = DateTime.Now;

Pour des raisons de compatibilité avec les versions antérieures de ASP, ces variables sont aussi accessibles à l'aide de la propriété Contents de l'objet de l'application, comme dans l'exemple suivant.

VB

' Visual Basic code from within a page, a handler, or Global.asax. Application.Contents("Message") = " MyMsg"

Application.Contents("AppStartTime") = Now [C#]

// Visual Basic code from within a page, a handler, or Global.asax. Application.Contents["Message"] = " MyMsg";

Application.Contents["AppStartTime"] = DateTime.Now;

La collection StaticObjects expose tous les éléments de variable ajoutés à la collection de

l'état de l'application par l'intermédiaire des balises <object runat="server"> dans le fichier Global.asax avec une portée d'application. Par exemple :

' Global.asax definition.

<object runat="server" scope="application" ID="MyInfo" PROGID="MSWC.MYINFO">

</OBJECT>

Les objets ne peuvent pas être ajoutés à la collection StaticObjects à partir de n'importe quel emplacement d'une application ASP.NET. La collection lève NotSupportedException si vous tentez d'ajouter des objets directement par l'intermédiaire du code.

Notez que le compilateur de pages .NET injecte automatiquement des références à des membres dans tous les objets stockés dans la collection StaticObjects au moment de la compilation de la page, de manière à ce que les développeurs puissent accéder à ces objets d'application au moment de la demande de la page sans avoir à référencer la

collection Application. Par exemple : <html>

</body>

Application Level Title: <%= MyInfo.Title %> <body>

</html>

Synchronisation de l'état de l'application

Plusieurs threads dans une application peuvent accéder en même temps aux valeurs stockées dans l'état de l'application. Par conséquent, lorsque vous créez quelque chose qui a besoin d'accéder aux valeurs de l'état de l'application, vous devez toujours veiller à ce que l'objet de l'état de l'application soit libre de threads et effectue sa propre synchronisation interne ou

(9)

procède aux étapes de synchronisation manuelles pour se protéger des conditions de course, conflits et violations d'accès.

La classe HttpApplicationState fournit deux méthodes, Lock et Unlock, qui ne permettent qu'à un seul thread d'accéder aux variables de l'état de l'application.

L'appel de Lock sur l'objet Application conduit ASP.NET à bloquer les tentatives d'accès du code s'exécutant sur d'autres threads de travail à l'état de l'application. Ces threads sont débloqués uniquement lorsque le thread qui a appelé Lock appelle la

méthode Unlockcorrespondante sur l'objet Application.

L'exemple de code suivant illustre l'utilisation du verrouillage pour se protéger contre les conditions de course.

VB

' Visual Basic code from within a page, a handler, or Global.asax. Application.Lock()

Application("SomeGlobalCounter") = _

CType(Application("SomeGlobalCounter"), Integer) + 1 Application.UnLock()

[C#]

// C# code from within a page, a handler, or Global.asax. Application.Lock();

Application["SomeGlobalCounter"] =

(int)Application["SomeGlobalCounter"] + 1; Application.UnLock();

Si vous n'appelez pas explicitement Unlock, le .NET Framework supprime automatiquement le verrou une fois la demande terminée, le délai de la demande dépassé ou en cas d'erreur non gérée pendant l'exécution de la demande, et provoque l'échec de la demande. Ce

déverrouillage automatique évite les blocages de l'application.

Fichier Global.asax

.NET Framework 1.1

Le fichier Global.asax, également connu sous le nom de fichier d'application ASP.NET, est un fichier facultatif qui contient du code permettant de répondre aux événements de niveau application déclenchés par ASP.NET ou les modules HttpModule. Ce fichier réside dans le répertoire racine d'une application ASP.NET. Au moment de l'exécution, Global.asax est analysé et compilé en une classe .NET Framework générée de manière dynamique dérivée de la classe de base HttpApplication. Il est configuré de sorte que toute demande URL directe le concernant soit automatiquement rejetée ; les utilisateurs externes ne peuvent ni télécharger, ni afficher le code qu'il contient.

Le fichier Global.asax ASP.NET peut coexister avec le fichier Global.asax ASP. Vous pouvez créer un fichier Global.asax dans un concepteur WYSIWYG, dans le Bloc-notes, ou en tant que classe compilée que vous déployez dans le répertoire \Bin de votre application comme assembly. Cependant, dans ce dernier cas, vous avez toujours besoin d'un fichier Global.asax qui se réfère à l'assembly.

Le fichier Global.asax file est optionnel. Si vous ne définissez pas le fichier, l'infrastructure de page ASP.NET suppose que vous n'avez pas défini de gestionnaires d'événements de session ou d'application.

Lorsque vous enregistrez les modifications dans un fichier Global.asax actif, l'infrastructure de page ASP.NET détecte que le fichier a été modifié. Il met fin à toutes les demandes en cours pour l'application, envoie l'événement Application_OnEnd aux écouteurs et redémarre le

(10)

domaine d'application. En fait, ceci redémarre l'application, en fermant toutes les sessions du navigateur et en vidant toutes les informations d'état. Lorsque la demande entrante suivante d'un navigateur arrive, l'infrastructure de page ASP.NET analyse à nouveau et recompile le fichier Global.asax et déclenche l'événement Application_OnStart.

Utilisation des modules avec

le fichier Global.asax

.NET Framework 1.1

ASP.NET fournit plusieurs modules qui participent à chaque demande et exposent des événements que vous pouvez gérer dans Global.asax. Vous pouvez personnaliser et étendre ces modules comme vous le souhaitez ou développer des modules personnalisés totalement nouveaux pour traiter les informations à destination et à propos des demandes HTTP faites à votre application ASP.NET. Vous pouvez par exemple créer un module de cache de sortie qui implémente les comportements de mise en cache de sortie pour l'intégralité de votre application.

Tous les modules, qu'ils soient personnalisés ou fournis par le .NET Framework, doivent implémenter l'interface IHttpModule. Dès que ces modules sont inscrits avec votre application, vous pouvez aisément interagir avec les demandes HTTP arrivant dans votre application.

Gestion des événements HttpModule

Vous pouvez utiliser le fichier Global.asax pour gérer tout événement exposé par les modules de la demande. Vous pouvez par exemple créer un module d'authentification personnalisé pour votre application Web ASP.NET, dans lequel vous pouvez exposer un

événement OnAuthenticateRequest. Le code que vous écrivez pour gérer les événements exposés par un module HttpModule doit se conformer au modèle d'affectation de nom suivant :

FriendlyModuleName_EventName(AppropriateEventArgumentSignature) Par exemple, si vous souhaitez inclure du code de gestion d'événement pour le début et la fin d'une session, ainsi que pour un événement OnAuthenticateRequest, il pourrait avoir l'apparence suivante.

VB

<Script language="VB" runat="server"> Sub Session_OnStart()

'Session start-up code goes here. End Sub

Sub Session_OnEnd()

'Session clean-up code goes here. End Sub

Sub Application_OnAuthenticateRequest(Source As Object, Details as EventArgs)

'Authentication code goes here. End Sub

</script> [C#]

<Script language="C#" runat="server"> void Session_OnStart() {

(11)

// Session start-up code goes here. }

void Session_OnEnd() {

// Session clean-up code goes here. }

void Application_OnAuthenticateRequest(Object Source, EventArgs Details) {

// Authentication code goes here. }

Références

Documents relatifs

Le système pentecôtiste de gestion de l’argent s’inscrit en effet dans des dispositifs institutionnels de formation, de médiation et d’encadrement dont

les individus possédant n'importe quelle combinaison d'haplotype (notamment, ni le premier locus, ni le deuxième locus, n'est en déséquilibre de liaison avec un

Là encore, avec cette fois Li Zhi 李贄 (1527-1602) et sa théorie du “cœur d’enfant” (tongxin shuo 童心說), la philosophie venait fonder en raison un phénomène dont

En effet, si l’enseignant B intervient en moyenne 20 fois auprès des comportements appropriés d’un élève et 5 fois pour les comportements inappropriés (25 stimuli de

Dans leur célèbre ouvrage L’acteur et le système 6 , les sociologues Michel Crozier et Erhard Friedberg posent pourtant une question cruciale pour l’étude des politiques publiques

Os consumidores estão mais conscientes sobre os benefícios de alimentos mais naturais em relação aos processados e ultraprocessados.. Pesquisa recente da Sociedade Brasileira de

victoires électorales des Républicains, à partir des élections législatives de 1876 et 1877, marquent à ce titre une nette inflexion : elles s a o pag e t de l entrée à

Ce système repose sur une ontologie modélisant les différentes composantes du tutorat (les acteurs, leurs caractéristiques, les activités, leurs paramètres et les ressources.)