ContractHandle 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.
Fournit des méthodes qui contrôlent la durée de vie d'un complément.
public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
interface IDisposable
Public Class ContractHandle
Implements IDisposable
- Héritage
-
ContractHandle
- Implémente
Exemples
L’exemple suivant montre comment définir le handle de jeton de durée de vie dans un adaptateur de contrat à affichage du côté du complément d’un pipeline.
private CalculatorContracts.ICalc2Contract _contract;
private System.AddIn.Pipeline.ContractHandle _handle;
public CalculatorContractToViewHostAdapter(ICalc2Contract contract) {
_contract = contract;
_handle = new System.AddIn.Pipeline.ContractHandle(contract);
}
Private _contract As ICalc2Contract
Private _handle As ContractHandle
Public Sub New(ByVal contract As ICalc2Contract)
_contract = contract
_handle = New ContractHandle(contract)
End Sub
Remarques
Étant donné que le modèle de complément permet aux compléments de communiquer entre les domaines d’application et entre les processus, il ne peut pas s’appuyer sur le garbage collector pour les récupérer. Cette classe fournit un mécanisme de comptage de références pour le complément en obtenant un jeton de durée de vie pour son contrat.
Lorsqu’un ContractHandle objet est construit, il appelle la AcquireLifetimeToken méthode sur le contrat passé au constructeur. Lorsque l’objet ContractHandle est supprimé ou finalisé, il appelle la RevokeLifetimeToken méthode sur le contrat, ce qui supprime sa conservation sur le contrat.
Les adaptateurs implémentent le contrat. La ContractHandle classe est conçue pour être utilisée dans un adaptateur de contrat à vue pour aider les développeurs de pipelines à gérer la durée de vie du contrat en cours d’adaptation. En règle générale, un instance de cette classe est instancié pendant la construction de la classe d’adaptateur et est stocké dans un champ instance de l’adaptateur. Lorsque la classe d’adaptateur est garbage-collected, l’objet ContractHandle est également collecté et l’objet ContractHandle révoque le jeton de durée de vie sur le contrat.
Il est recommandé que vos adaptateurs d’affichage à contrat héritent de la ContractBase classe . Vous pouvez ensuite utiliser une implémentation par défaut pour les membres de IContract, ce qui signifie que vous devez implémenter uniquement les membres de votre contrat spécifique.
Constructeurs
ContractHandle(IContract) |
Initialise une nouvelle instance de la classe ContractHandle. |
Propriétés
Contract |
Obtient le contrat utilisé par un pipeline. |
Méthodes
AppDomainOwner(AppDomain) |
Obtient l'instance de l'adaptateur côté complément lorsque le domaine d'application a été créé. |
ContractOwnsAppDomain(IContract, AppDomain) |
Détermine si un domaine d'application appartient au contrat spécifié. |
Dispose() |
Révoque le jeton de durée de vie sur un contrat, quelle que soit l'entrée. |
Dispose(Boolean) |
Révoque le jeton de durée de vie sur le contrat quelle que soit l'entrée et libère éventuellement les ressources managées. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Finalize() |
Libère les ressources associées à l’instance ContractHandle. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |