ContractHandle ContractHandle ContractHandle ContractHandle Class

Definition

Stellt Methoden bereit, die die Lebensdauer eines Add-Ins steuern.Provides methods that control the lifetime of an add-in.

public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
    interface IDisposable
Public Class ContractHandle
Implements IDisposable
Vererbung
ContractHandleContractHandleContractHandleContractHandle
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie das Tokenhandle Lebensdauer in einem Vertrag-zu-Ansicht-Adapter auf der Seite-Add-in einer Pipeline festgelegt.The following example shows how to set the lifetime token handle in a contract-to-view adapter on the add-in side of a 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

Hinweise

Da das Add-In Modell die Möglichkeit, dass für die Kommunikation zwischen Anwendungsdomänen und Prozessen-Add-ins bereitstellt, kann nicht es sie bei der Garbage collection abhängen.Because the add-in model provides the ability for add-ins to communicate between application domains and between processes, it cannot rely on the garbage collector to reclaim them. Diese Klasse stellt eine verweiszählung Mechanismus für das Add-in durch Abrufen eines Tokens Lebensdauer ihren Vertrag.This class provides a reference counting mechanism for the add-in by obtaining a lifetime token to its contract.

Wenn eine ContractHandle -Objekt erstellt wird, ruft es die AcquireLifetimeToken Methode für den Vertrag, der an den Konstruktor übergeben wird.When a ContractHandle object is constructed, it calls the AcquireLifetimeToken method on the contract that is passed to the constructor. Wenn die ContractHandle Objekt freigegeben oder beendet wird, ruft es die RevokeLifetimeToken Methode für den Vertrag, der die Sperre für den Vertrag entfernt.When the ContractHandle object is disposed or finalized, it calls the RevokeLifetimeToken method on the contract, which removes its hold on the contract.

Adapter implementieren den Vertrag.Adapters implement the contract. Die ContractHandle Klasse, damit Pipelineentwickler, die die Lebensdauer des Vertrags zu verwalten, die angepasst werden, wird in einem Vertrag-zu-Ansicht-Adapter verwendet werden soll.The ContractHandle class is designed to be used in a contract-to-view adapter to help pipeline developers manage the lifetime of the contract that is being adapted. In der Regel wird eine Instanz dieser Klasse instanziiert wird, während der Erstellung der Adapterklasse und befindet sich in einem Instanzfeld des Adapters.Typically, an instance of this class is instantiated during the construction of the adapter class and is stored in an instance field of the adapter. Wenn die Adapterklasse Garbage Collection, ist die ContractHandle Objekt auch gesammelt werden und die ContractHandle -Objekt widerruft das Lebensdauertoken für den Vertrag.When the adapter class is garbage-collected, the ContractHandle object will also be collected and the ContractHandle object will revoke the lifetime token on the contract.

Es wird empfohlen, dass Ihre Ansicht-zu-Vertrag-Adapter von erben die ContractBase Klasse.It is recommended that your view-to-contract adapters inherit from the ContractBase class. Anschließend können Sie eine Standardimplementierung für die Elemente der IContract, was bedeutet, Sie müssen nur die Member von Ihrer bestimmten Vertrag implementieren.You can then use a default implementation for the members of IContract, which means you need to implement only the members of your specific contract.

Konstruktoren

ContractHandle(IContract) ContractHandle(IContract) ContractHandle(IContract) ContractHandle(IContract)

Initialisiert eine neue Instanz der ContractHandle-Klasse.Initializes a new instance of the ContractHandle class.

Eigenschaften

Contract Contract Contract Contract

Ruft den von einer Pipeline verwendeten Vertrag ab.Gets the contract used by a pipeline.

Methoden

AppDomainOwner(AppDomain) AppDomainOwner(AppDomain) AppDomainOwner(AppDomain) AppDomainOwner(AppDomain)

Ruft die Instanz des Adapters auf Add-In-Seite bei Erstellung der Anwendungsdomäne ab.Gets the instance of the add-in-side adapter when the application domain was created.

ContractOwnsAppDomain(IContract, AppDomain) ContractOwnsAppDomain(IContract, AppDomain) ContractOwnsAppDomain(IContract, AppDomain) ContractOwnsAppDomain(IContract, AppDomain)

Bestimmt, ob eine Anwendungsdomäne dem angegebenen Vertrag gehört.Determines whether an application domain is owned by the specified contract.

Dispose() Dispose() Dispose() Dispose()

Widerruft das Lebensdauertoken für einen Vertrag unabhängig von der Eingabe.Revokes the lifetime token on a contract, regardless of input.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Widerruft das Lebensdauertoken für den Vertrag unabhängig von der Eingabe und gibt optional die verwalteten Ressourcen frei.Revokes the lifetime token on the contract regardless of input and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Gibt die der ContractHandle-Instanz zugeordneten Ressourcen frei.Releases the resources associated with the ContractHandle instance.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für: