ContractHandle Classe

Definição

Fornece métodos que controlam a vida útil de um complemento.

public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
    interface IDisposable
Public Class ContractHandle
Implements IDisposable
Herança
ContractHandle
Implementações

Exemplos

O exemplo seguinte mostra como definir a alavanca do token de tempo de vida num adaptador contrato-para-visualização no lado adicional de um 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

Observações

Como o modelo de add-in permite que os add-ins comuniquem entre domínios de aplicação e processos, não pode depender do garbage collector para os recuperar. Esta classe fornece um mecanismo de contagem de referências para o add-in, obtendo um token vitalício no seu contrato.

Quando um ContractHandle objeto é construído, chama o AcquireLifetimeToken método do contrato que é passado ao construtor. Quando o ContractHandle objeto é descartado ou finalizado, chama o RevokeLifetimeToken método no contrato, que remove o seu domínio sobre o contrato.

Os adaptadores implementam o contrato. A ContractHandle classe foi concebida para ser usada num adaptador de contrato para visualização, ajudando os programadores de pipelines a gerir a vida útil do contrato que está a ser adaptado. Normalmente, uma instância desta classe é instanciada durante a construção da classe do adaptador e é armazenada num campo de instância do adaptador. Quando a classe adaptadora é recolhida pelo lixo, o ContractHandle objeto também será recolhido e ContractHandle o objeto revogará o token de vida no contrato.

Recomenda-se que os seus adaptadores view-to-contract herdem da ContractBase classe. Pode então usar uma implementação padrão para os membros de IContract, o que significa que precisa de implementar apenas os membros do seu contrato específico.

Construtores

Name Description
ContractHandle(IContract)

Inicializa uma nova instância da ContractHandle classe.

Propriedades

Name Description
Contract

Assim o contrato é usado por um oleoduto.

Métodos

Name Description
AppDomainOwner(AppDomain)

Obtém a instância do adaptador do lado adicional quando o domínio da aplicação foi criado.

ContractOwnsAppDomain(IContract, AppDomain)

Determina se um domínio de aplicação pertence ao contrato especificado.

Dispose()

Revoga o token vitalício de um contrato, independentemente da entrada.

Dispose(Boolean)

Revoga o token vitalício do contrato independentemente da entrada e, opcionalmente, liberta os recursos geridos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Liberta os recursos associados à ContractHandle instância.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a