ContractHandle ContractHandle ContractHandle ContractHandle Class

Definición

Proporciona métodos que controlan la duración de un complemento.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
Herencia
ContractHandleContractHandleContractHandleContractHandle
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo establecer el identificador del token de duración en un adaptador de contrato a vista en el complemento de una canalización.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

Comentarios

Dado que el modelo de complementos proporciona la capacidad de que los complementos se comuniquen entre los dominios de aplicación y entre los procesos, no puede confiar en el recolector de elementos no utilizados para reclamarlos.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. Esta clase proporciona un mecanismo de recuento de referencias para el complemento mediante la obtención de un token de duración a su contrato.This class provides a reference counting mechanism for the add-in by obtaining a lifetime token to its contract.

Cuando se ContractHandle construye un objeto, llama al AcquireLifetimeToken método en el contrato que se pasa al constructor.When a ContractHandle object is constructed, it calls the AcquireLifetimeToken method on the contract that is passed to the constructor. Cuando el ContractHandle objeto se desecha o finaliza, llama al RevokeLifetimeToken método en el contrato, lo que quita su retención en el contrato.When the ContractHandle object is disposed or finalized, it calls the RevokeLifetimeToken method on the contract, which removes its hold on the contract.

Los adaptadores implementan el contrato.Adapters implement the contract. La ContractHandle clase está diseñada para usarse en un adaptador de contrato a vista para ayudar a los desarrolladores de canalizaciones a administrar la duración del contrato que se está adaptando.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. Normalmente, se crea una instancia de esta clase durante la construcción de la clase de adaptador y se almacena en un campo de instancia del adaptador.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. Cuando la clase de adaptador se recolecta como elemento no ContractHandle utilizado, el objeto también se recopilará y el ContractHandle objeto revocará el token de duración en el contrato.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.

Se recomienda que los adaptadores de vista a contrato hereden de la ContractBase clase.It is recommended that your view-to-contract adapters inherit from the ContractBase class. Después, puede usar una implementación predeterminada para los miembros de IContract, lo que significa que solo tiene que implementar los miembros de su contrato específico.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.

Constructores

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

Inicializa una nueva instancia de la clase ContractHandle.Initializes a new instance of the ContractHandle class.

Propiedades

Contract Contract Contract Contract

Obtiene el contrato utilizado por una canalización.Gets the contract used by a pipeline.

Métodos

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

Obtiene la instancia del adaptador de conversión cuando se creó el dominio de aplicación.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)

Determina si un dominio de aplicación es propiedad del contrato especificado.Determines whether an application domain is owned by the specified contract.

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

Revoca el token de duración en un contrato, sin tener en cuenta la entrada.Revokes the lifetime token on a contract, regardless of input.

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

Revoca el token de duración en el contrato sin tener en cuenta la entrada y, de manera opcional, libera los recursos administrados.Revokes the lifetime token on the contract regardless of input and optionally releases the managed resources.

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

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

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

Libera los recursos asociados a la instancia ContractHandle.Releases the resources associated with the ContractHandle instance.

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

Sirve como la función hash predeterminada.Serves as the default hash function.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a