Compartir a través de


ContractHandle Clase

Definición

Proporciona métodos que controlan la duración de un complemento.

public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
    interface IDisposable
Public Class ContractHandle
Implements IDisposable
Herencia
ContractHandle
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo establecer el identificador de token de duración en un adaptador de contrato a vista en el lado del complemento de una canalización.

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 posibilidad de que los complementos se comuniquen entre dominios de aplicación y entre procesos, no puede confiar en el recolector de elementos no utilizados para reclamarlos. 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.

Cuando se construye un ContractHandle objeto, llama al AcquireLifetimeToken método en el contrato que se pasa al constructor. Cuando el ContractHandle objeto se elimina o finaliza, llama al RevokeLifetimeToken método en el contrato, que quita su suspensión en el contrato.

Los adaptadores implementan el contrato. 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. 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. Cuando la clase de adaptador se recopila como elemento no utilizado, el ContractHandle objeto también se recopilará y el ContractHandle objeto revocará el token de duración en el contrato.

Se recomienda que los adaptadores de vista a contrato hereden de la ContractBase clase . Después, puede usar una implementación predeterminada para los miembros de IContract, lo que significa que solo debe implementar los miembros de su contrato específico.

Constructores

ContractHandle(IContract)

Inicializa una nueva instancia de la clase ContractHandle.

Propiedades

Contract

Obtiene el contrato utilizado por una canalización.

Métodos

AppDomainOwner(AppDomain)

Obtiene la instancia del adaptador de conversión cuando se creó el dominio de aplicación.

ContractOwnsAppDomain(IContract, AppDomain)

Determina si un dominio de aplicación es propiedad del contrato especificado.

Dispose()

Revoca el token de duración en un contrato, sin tener en cuenta la entrada.

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.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Libera los recursos asociados a la instancia ContractHandle.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a