ContractHandle Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt methoden waarmee de levensduur van een invoegtoepassing wordt bepaald.
public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
interface IDisposable
Public Class ContractHandle
Implements IDisposable
- Overname
-
ContractHandle
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u hoe u de levensduurtokengreep instelt in een contract-to-view-adapter aan de invoegtoepassingszijde van een pijplijn.
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
Opmerkingen
Omdat het invoegtoepassingsmodel de mogelijkheid biedt voor invoegtoepassingen om te communiceren tussen toepassingsdomeinen en tussen processen, kan het niet afhankelijk zijn van de garbagecollector om ze vrij te maken. Deze klasse biedt een referentietelmechanisme voor de invoegtoepassing door een levensduurtoken aan het contract te verkrijgen.
Wanneer een ContractHandle object wordt samengesteld, wordt de AcquireLifetimeToken methode aangeroepen voor het contract dat wordt doorgegeven aan de constructor. Wanneer het ContractHandle object wordt verwijderd of voltooid, wordt de RevokeLifetimeToken methode voor het contract aangeroepen, waardoor de bewaring van het contract wordt verwijderd.
Adapters implementeren het contract. De ContractHandle klasse is ontworpen om te worden gebruikt in een contract-to-view-adapter om pijplijnontwikkelaars te helpen de levensduur van het contract te beheren dat wordt aangepast. Normaal gesproken wordt een exemplaar van deze klasse geïnstantieerd tijdens de bouw van de adapterklasse en wordt opgeslagen in een exemplaarveld van de adapter. Wanneer de adapterklasse garbagecollection is, wordt het ContractHandle object ook verzameld en wordt het ContractHandle levensduurtoken van het contract ingetrokken.
Het wordt aanbevolen dat uw view-to-contract-adapters overnemen van de ContractBase klasse. U kunt vervolgens een standaard implementatie gebruiken voor de leden van IContract, wat betekent dat u alleen de leden van uw specifieke contract moet implementeren.
Constructors
| Name | Description |
|---|---|
| ContractHandle(IContract) |
Initialiseert een nieuw exemplaar van de ContractHandle klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Contract |
Hiermee haalt u het contract op dat wordt gebruikt door een pijplijn. |
Methoden
| Name | Description |
|---|---|
| AppDomainOwner(AppDomain) |
Hiermee haalt u het exemplaar van de invoegtoepassingsadapter op wanneer het toepassingsdomein is gemaakt. |
| ContractOwnsAppDomain(IContract, AppDomain) |
Bepaalt of een toepassingsdomein eigendom is van het opgegeven contract. |
| Dispose() |
Hiermee wordt het levensduurtoken voor een contract ingetrokken, ongeacht invoer. |
| Dispose(Boolean) |
Hiermee wordt het levensduurtoken voor het contract ingetrokken, ongeacht invoer en worden de beheerde resources optioneel vrijgegeven. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Finalize() |
Releases van de resources die zijn gekoppeld aan het ContractHandle exemplaar. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |