Série de conférences ASP (7) Utilisation de composants et d'objets
Auteur:Eve Cole
Date de mise à jour:2009-05-30 19:59:15
Les composants ActiveX sont la clé pour créer des applications Web puissantes. Les composants fournissent des objets utilisés dans les scripts pour effectuer des tâches. ASP fournit également des objets intégrés pouvant être utilisés dans des scripts. Cette rubrique explique comment utiliser les objets fournis par les composants ainsi que les objets intégrés fournis directement par Active Server Pages.
À propos des composants
Un composant ActiveX est un fichier contenant du code qui exécute une tâche ou un ensemble de tâches. Les composants peuvent effectuer des tâches courantes afin que vous n'ayez pas à créer le code pour effectuer ces tâches vous-même. Par exemple, un composant ticker peut afficher les dernières cotations boursières sur une page Web. ASP est livré avec des composants prêts à l'emploi, tels que le composant Database Access. Obtenez des composants facultatifs auprès de développeurs tiers. Ou vous pouvez écrire votre propre composant.
Vous pouvez exploiter les composants comme éléments de base pour les scripts et les applications Web. Sachez simplement comment accéder à l'objet fourni par le composant. Même un scripteur novice peut écrire des scripts sans comprendre le fonctionnement des composants. En résumé, les composants vous permettent d'écrire des scripts puissants sans apprendre à programmer.
Si vous êtes un développeur d'applications Web, vous pouvez encapsuler la logique métier en écrivant des composants. Par exemple, vous pouvez écrire un composant pour calculer la taxe de vente sur un produit. Ce composant peut ensuite être appelé dans des scripts qui traitent les commandes clients. Le calcul indépendant des taux de taxe lors du traitement des commandes vous permet de mettre à jour uniquement le composant lorsque la taxe de vente change quelque part, sans avoir à modifier l'ensemble du processus de traitement. Les composants peuvent être écrits dans n'importe quel langage prenant en charge le modèle d'objet de composant (COM), tel que C, C++, Java ou Visual Basic. Si vous êtes familier avec la programmation COM, le composant ActiveX est le serveur Automation. Pour s'exécuter sur un serveur Web, les composants ActiveX ne peuvent pas comporter d'éléments d'interface utilisateur graphique, tels que la fonction MsgBox de Visual Basic.
Les composants sont réutilisables. Une fois qu'un composant est installé sur un serveur Web, il peut être appelé depuis un script ASP, une application ISAPI, un autre composant sur le serveur ou un programme écrit dans un autre langage compatible COM.
Un composant d'instance qui génère un objet composant est un code exécutable contenu dans une bibliothèque de liens dynamiques (.dll) ou un fichier exécutable (.exe). Un composant peut fournir un ou plusieurs objets ainsi que leurs méthodes et propriétés. Pour utiliser un objet fourni par un composant, créez une instance de l'objet et attribuez à cette nouvelle instance un nom de variable. Des instances d'objets peuvent être créées à l'aide de la méthode Server.CreateObject d'ASP. Ensuite, utilisez les instructions d'affectation de variables du langage de script pour nommer l'instance d'objet. Lors de la création d'une instance d'objet, vous devez fournir le nom enregistré (PROGID) de l'instance. Pour les composants de base fournis par ASP, le PROGID de l'objet peut être obtenu à partir de la page de référence.
Par exemple, le composant Ad Rotator d'ASP parcourt les publicités graphiques. Le composant Ad Rotator fournit un objet appelé Ad Rotator, dont le PROGID est "MSWC.AdRotator". Pour créer une instance d'un objet Ad Rotator, utilisez la commande suivante :
VBScript :
<% Set MyAds = Server.CreateObject("MSWC.AdRotator") %>
JScript :
<% var MyAds = Server.CreateObject("MSWC.AdRotator") %>
Si vous êtes déjà très familier avec VBScript ou JScript, vous remarquerez qu'il n'existe aucune fonction de langage de script permettant de créer de nouvelles instances d'objet, telles que CreateObject dans VBScript ou New dans JScript. Vous devez utiliser la méthode Server.CreateObject d'ASP, sinon ASP ne peut pas suivre l'utilisation des objets dans les langages de script.
Des instances d'objet peuvent également être créées à l'aide de la balise HTML <OBJECT>. Vous devez fournir la valeur du serveur pour l'attribut RUNAT ainsi que le groupe d'attributs ID pour le nom de variable qui sera utilisé dans le langage de script. L'objet peut être identifié à l'aide du nom d'enregistrement (PROGID) ou du numéro d'enregistrement (CLSID). L'exemple suivant crée une instance de l'objet Ad Rotator à l'aide du nom enregistré (PROGID) :
<OBJECT RUNAT=Server ID=MyAd PROGID="MSWC.AdRotator"></OBJECT>
L'exemple suivant crée une instance de l'objet Ad Rotator à l'aide du numéro d'enregistrement (CLSID) :
<OBJECT RUNAT=ID du serveur=Monannonce
CLASSID="Clsid :1621F7C0-60AC-11CF-9427-444553540000"></OBJET>
Création d'un objet à partir d'une classe Java Les composants ActiveX écrits en langage Java peuvent être soumis sous forme de classes Java au lieu de DLL. Pour utiliser Server.CreateObject pour créer une instance d'un objet de classe Java, la classe doit être enregistrée en tant que composant COM à l'aide du programme Javareg. Vous pouvez ensuite utiliser Server.CreateObject avec PROGID ou CLSID.
Si l'instance d'objet n'a pas besoin d'accéder aux objets intégrés ASP et de participer aux transactions, elle peut appeler la classe Java directement à l'aide du mécanisme plus simple fourni par le moniteur Java. Vous devez utiliser la machine virtuelle Microsoft pour Java 2.0 (fournie par la distribution d'Internet Information Server et de Personal Web Server) pour utiliser le moniteur Java.
Si vous souhaitez utiliser un moniteur pour instancier un objet, vous devez utiliser la commande VBScript ou JScript GetObject et fournir le nom complet de la classe Java sous la forme java:classname. L'exemple VBScript suivant génère une instance d'un objet Java Date.
<%
Date sombre
Définir la date = GetObject("java:java.util.Date")
%>
<p> La date est <%= date.toString() %>
Les objets générés en appelant GetObject au lieu de Server.CreateObject ne peuvent pas accéder aux objets intégrés ASP et ne peuvent pas participer aux transactions.
Utilisation d'objets intégrés ASP
ASP fournit des objets intégrés qui effectuent des tâches. Par exemple, l'objet Request stocke les références des tableaux HTML.
Appel de méthodes d'objet Les méthodes sont des activités qui peuvent être effectuées sur ou à l'aide d'un objet. La syntaxe générale pour appeler une méthode est la suivante :
Paramètres Objet.Méthode
Les paramètres varient d'une méthode à l'autre.
Par exemple, vous pouvez utiliser la méthode Write de l'objet intégré Response pour envoyer des informations au navigateur en suivant les instructions suivantes :
<% Réponse.Écrivez "Bonjour tout le monde" %>
Notez que certains langages de script ne prennent pas en charge la syntaxe Object.Method. Si le langage que vous utilisez ne prend pas en charge cette syntaxe, vous devez créer une entrée dans le registre afin d'utiliser ce langage comme langage de script principal.
Définition des propriétés d'un objet Les propriétés sont des valeurs caractéristiques qui décrivent un objet. Les propriétés définissent les caractéristiques d'un objet (telles que le type d'objet) ou l'état d'un objet (telles que activé ou désactivé). La syntaxe générale est :
Objet.Propriété
Les valeurs des propriétés peuvent être lues et définies. Pour certains objets, de nouvelles propriétés peuvent également être ajoutées.
Par exemple, le composant Ad Rotator possède une propriété Border, qui spécifie si l'annonce a une bordure et l'épaisseur de la bordure. L'expression suivante ne spécifie aucune bordure :
<% MesAnnonces.Border = 0 %>
Vous pouvez utiliser la directive de sortie ASP pour afficher les valeurs actuelles de certaines propriétés. Par exemple, la commande suivante renverra TRUE si le navigateur est toujours connecté au serveur :
<%= Réponse.IsClientConnected %>