Vue d'ensemble des composants de service
Un composant de service est une classe créée dans un langage conforme CLS et directement ou indirectement dérivée de la classe System.EnterpriseServices.ServicedComponent. Les classes configurées de cette manière peuvent figurer dans une application COM+ et utiliser des services COM+ par le biais de l'espace de noms EnterpriseServices. Pour obtenir une liste des services pris en charge, consultez Résumé des services COM+ disponibles.
Les services COM+, tels que les transactions automatiques ou Queued Components (QC), peuvent être configurés par déclaration. Vous devez appliquer des attributs de service au moment du design et créer des instances de classes utilisant ces services. La configuration de certains services s'effectue par l'appel de méthodes sur des interfaces ou des classes de service. Certains services peuvent être transmis d'un objet à l'autre. Par exemple, un objet configuré pour exiger une transaction peut étendre cette transaction à un second objet si ce dernier prend également en charge ou nécessite des transactions.
Le catalogue COM+ comprend les informations de configuration que vous appliquez à une implémentation de classe. Au moment de l'exécution, d'après les attributs que vous appliquez au code, COM+ crée une couche de service de contexte. L'illustration suivante montre une transaction automatique qui s'enchaîne entre deux objets managés hébergés par COM+.
Application COM+ hébergeant composants de service
Des services peuvent également être transmis entre des objets COM+ et .NET Framework. Chaque environnement contrôle l'implémentation et l'exécution de son code natif ; COM+ fournit toujours le contexte de l'objet.
Pour créer un composant de service
Définissez une classe qui est directement ou indirectement dérivée de la classe ServicedComponent. Par exemple, le code suivant garantit que la classe
Account
est hébergée par une application COM+.Imports System.EnterpriseServices Public Class Account Inherits ServicedComponent Shared Sub Main() End Sub End Class [C#] using System.EnterpriseServices; public class Account : ServicedComponent { static void Main() {} }
Le code suivant applique des attributs de service à l'assembly, à la classe ou à la méthode.
Imports System.EnterpriseServices <Transaction(TransactionOption.Required)> Public Class Account Inherits ServicedComponent <AutoComplete()> Shared Sub Main() End Sub End Class [C#] using System.EnterpriseServices; [Transaction(TransactionOption.Required)] public class Account : ServicedComponent { [AutoComplete] static void Main() {} }
Remarque Dans le .NET Framework version 1.1, la configuration de la sécurité COM+ est activée par défaut si l'attribut ApplicationAccessControlAttribute n'est pas présent dans l'assembly. Il s'agit d'un changement de comportement par rapport au .NET Framework version 1.0.
Vous pouvez compiler l'exemple comme suit :
Makefile.bat
vbc /t:exe /r:System.EnterpriseServices.dll Demo.vb [C#] csc /t:exe /r:System.EnterpriseServices.dll Demo.cs
Déployez l'application du composant de service en inscrivant son assembly dynamiquement ou manuellement. Pour plus d'informations, consultez Inscription dynamique d'un assembly et Inscription manuelle d'un assembly.
Une fois un composant de service inscrit, les clients peuvent créer des instances de ce composant de la même façon qu'ils créent des instances de tout autre composant. Pour obtenir un exemple complet, consultez Exemple de composant de service.
Remarque Sur les plates-formes Windows 2000, COM+ charge toujours la dernière version du Common Language Runtime pour le composant que vous créez. Autrement dit, si le .NET Framework version 1.0 et le .NET Framework version 1.1 sont tous deux installés sur un ordinateur, le .NET Framework version 1.1 est toujours chargé. Pour éviter cela, vous pouvez créer un fichier COM+ dllhost.exe.configuration qui vous permet de verrouiller toutes les applications à une version spécifique du .NET Framework. Sur les plates-formes Windows XP et Windows Server 2003, le paramètre de répertoire racine de l'application peut être utilisé afin que COM+ pointe vers un répertoire approprié à son fichier de configuration.
Voir aussi
Écriture de composants de service | Application des attributs pour configurer des services COM+ | Inscription de composants de service | Exemple de composant de service | Résumé des services COM+ disponibles | System.EnterpriseServices.ServicedComponent