ServicedComponent Classe

Définition

Représente la classe de base de toutes les classes à l’aide de 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 ces exécutions dans une application COM+ peut cesser de répondre. Ce problème est dû à un blocage d’activité. Les activités peuvent bloquer 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 effectuez le travail avec des objets dérivés de ServicedComponent.

Note

Le code client doit appeler Dispose les composants serviced pour garantir une opération appropriée.

Constructeurs

Nom Description
ServicedComponent()

Initialise une nouvelle instance de la classe ServicedComponent.

Méthodes

Nom Description
Activate()

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

CanBePooled()

Cette méthode est appelée par l’infrastructure avant la remise de l’objet dans le pool. Remplacez cette méthode pour voter si l’objet est remis dans le pool.

Construct(String)

Appelé par l’infrastructure juste après l’appel du constructeur, en passant la chaîne du constructeur. Remplacez cette méthode pour utiliser la valeur de chaîne de construction.

CreateObjRef(Type)

Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Deactivate()

Appelé par l’infrastructure lorsque l’objet est sur le point d’être désactivé. Remplacez cette méthode pour ajouter du code de finalisation personnalisé aux objets lorsque le code compilé juste-à-temps (JIT) ou le regroupement d’objets est utilisé.

Dispose()

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

Dispose(Boolean)

Libère les ressources non managées utilisées par les ServicedComponent ressources gérées 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()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()

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

(Hérité de MarshalByRefObject)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
InitializeLifetimeService()

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 Objectactuel.

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

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

(Hérité de MarshalByRefObject)
ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
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 de ServicedComponent l’objet done de classe est défini true après un appel de méthode distante.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Ne garantit pas que, dans le contexte COM+, le bit de ServicedComponent l’objet done de classe est défini true après un appel de méthode distante.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Obtient certaines informations sur l’instance de ServicedComponent classe.

S’applique à