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 une carte de contrat à vue côté 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 compter 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 à 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 adapté. En règle générale, une instance de cette classe est instanciée pendant la construction de la classe d’adaptateur et est stockée dans un champ d’instance de l’adaptateur. Lorsque la classe d’adaptateur est collectée par le garbage-collect, 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 de vue à 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
| Nom | Description |
|---|---|
| ContractHandle(IContract) |
Initialise une nouvelle instance de la classe ContractHandle. |
Propriétés
| Nom | Description |
|---|---|
| Contract |
Obtient le contrat utilisé par un pipeline. |
Méthodes
| Nom | Description |
|---|---|
| AppDomainOwner(AppDomain) |
Obtient l’instance de l’adaptateur côté complément lors de la création du domaine d’application. |
| 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() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |