Partager via


ServicedComponent Classe

Définition

Représente la classe de base de toutes les classes utilisant les services COM+.

public ref class ServicedComponent abstract : ContextBoundObject, IDisposable, System::EnterpriseServices::IRemoteDispatch, System::EnterpriseServices::IServicedComponentInfo
[System.Serializable]
public abstract class ServicedComponent : ContextBoundObject, IDisposable, System.EnterpriseServices.IRemoteDispatch, System.EnterpriseServices.IServicedComponentInfo
[<System.Serializable>]
type ServicedComponent = class
    inherit ContextBoundObject
    interface IRemoteDispatch
    interface IDisposable
    interface IServicedComponentInfo
Public MustInherit Class ServicedComponent
Inherits ContextBoundObject
Implements IDisposable, IRemoteDispatch, IServicedComponentInfo
Héritage
Dérivé
Attributs
Implémente

Exemples

L’exemple de code suivant montre comment exposer une classe en tant que composant COM configuré.


[assembly:ApplicationName("Calculator")];
[assembly:ApplicationActivation(ActivationOption::Library)];
[assembly:System::Reflection::AssemblyKeyFile("Calculator.snk")];
public ref class Calculator: public ServicedComponent
{
public:
   int Add( int x, int y )
   {
      return (x + y);
   }

};
using System;
using System.EnterpriseServices;

[assembly: ApplicationName("Calculator")]
[assembly: ApplicationActivation(ActivationOption.Library)]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
public class Calculator : ServicedComponent
{
    public int Add (int x, int y)
    {
        return(x+y);
    }
}

Pour déployer cette classe en tant que composant COM configuré, vous devez générer une clé forte, compiler la classe en tant que bibliothèque et inscrire la bibliothèque. Ces trois étapes sont effectuées par les trois commandes suivantes.

sn -k Calculator.snk  
csc /t:library Calculator.cs  
regsvcs Calculator.dll  

Remarques

Dans certaines conditions, une classe dérivée de ServicedComponent qui s’exécute dans une application COM+ peut cesser de répondre. Ce problème est dû à un interblocage d’activité. Les activités peuvent se bloquer sur les applications multithread en raison d’un nettoyage asynchrone des références de composants. Pour contourner ce problème, appelez la Dispose méthode lorsque vous avez terminé de travailler avec des objets dérivés de ServicedComponent.

Notes

Le code client doit appeler Dispose sur les composants pris en charge pour garantir le bon fonctionnement.

Constructeurs

ServicedComponent()

Initialise une nouvelle instance de la classe ServicedComponent.

Méthodes

Activate()

Appelée par l'infrastructure lorsque l'objet est créé ou alloué à partir d'un pool. Substituez cette méthode pour ajouter aux objets du code d'initialisation personnalisé.

CanBePooled()

Cette méthode est appelée par l'infrastructure avant que l'objet ne soit replacé dans le pool. Substituez cette méthode pour voter si l'objet doit être replacé dans le pool.

Construct(String)

Appelée par l'infrastructure juste après l'appel au constructeur, passant la chaîne du constructeur. Substituez cette méthode pour utiliser la valeur de chaîne du constructeur.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Deactivate()

Appelée par l'infrastructure lorsque l'objet est sur le point d'être désactivé. Substituez cette méthode pour ajouter aux objets du code de finalisation personnalisé lorsque le code compilé juste-à-temps (JIT) ou la mise en pool d'objets sont utilisés.

Dispose()

Libère toutes les ressources utilisées par ServicedComponent.

Dispose(Boolean)

Libère les ressources non managées utilisées par ServicedComponent et libère éventuellement les ressources managées.

DisposeObject(ServicedComponent)

Finalise l'objet et supprime la référence COM+ associée.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IRemoteDispatch.RemoteDispatchAutoDone(String)

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Garantit que, dans le contexte COM+, le bit done de l'objet de classe ServicedComponent a la valeur true après un appel de méthode distant.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Ne garantit pas que, dans le contexte COM+, le bit done de l'objet de classe ServicedComponent a la valeur true après un appel de méthode distant.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Obtient certaines informations relatives à l'instance de classe ServicedComponent.

S’applique à