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 à 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 |
| IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
Ne garantit pas que, dans le contexte COM+, le bit de ServicedComponent l’objet |
| IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
Obtient certaines informations sur l’instance de ServicedComponent classe. |