ServicedComponent Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
Ne garantit pas que, dans le contexte COM+, le bit |
IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
Obtient certaines informations relatives à l'instance de classe ServicedComponent. |