Partage via


ContractHandle Classe

Définition

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)

S’applique à