ContractHandle 클래스

정의

추가 기능의 수명을 제어하는 메서드를 제공합니다.

public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
    interface IDisposable
Public Class ContractHandle
Implements IDisposable
상속
ContractHandle
구현

예제

다음 예제에서는 파이프라인의 추가 기능 쪽에 있는 계약-보기 어댑터에서 수명 토큰 핸들을 설정하는 방법을 보여줍니다.

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

설명

추가 기능 모델은 추가 기능이 애플리케이션 도메인과 프로세스 간에 통신하는 기능을 제공하기 때문에 가비지 수집기를 사용하여 회수할 수 없습니다. 이 클래스는 해당 계약에 대한 수명 토큰을 가져와 추가 기능에 대한 참조 계산 메커니즘을 제공합니다.

개체가 ContractHandle 생성될 때 생성자에 전달되는 계약의 메서드를 호출 AcquireLifetimeToken 합니다. 개체가 ContractHandle 삭제되거나 종료되면 계약에 대한 메서드를 RevokeLifetimeToken 호출하여 계약에 대한 보류를 제거합니다.

어댑터는 계약을 구현합니다. 이 ContractHandle 클래스는 파이프라인 개발자가 조정 중인 계약의 수명을 관리하는 데 도움이 되도록 계약-보기 어댑터에서 사용하도록 설계되었습니다. 일반적으로 이 클래스의 인스턴스는 어댑터 클래스를 생성하는 동안 인스턴스화되고 어댑터의 인스턴스 필드에 저장됩니다. 어댑터 클래스가 가비지 수집 ContractHandle 되면 개체도 수집되고 ContractHandle 개체는 계약의 수명 토큰을 해지합니다.

뷰-계약 어댑터는 클래스에서 상속하는 ContractBase 것이 좋습니다. 그런 다음, 멤버 IContract에 대한 기본 구현을 사용할 수 있습니다. 즉, 특정 계약의 멤버만 구현해야 합니다.

생성자

Name Description
ContractHandle(IContract)

ContractHandle 클래스의 새 인스턴스를 초기화합니다.

속성

Name Description
Contract

파이프라인에서 사용하는 계약을 가져옵니다.

메서드

Name Description
AppDomainOwner(AppDomain)

애플리케이션 도메인을 만들 때 추가 기능 쪽 어댑터의 인스턴스를 가져옵니다.

ContractOwnsAppDomain(IContract, AppDomain)

애플리케이션 도메인이 지정된 계약에 의해 소유되는지 여부를 확인합니다.

Dispose()

입력에 관계없이 계약의 수명 토큰을 취소합니다.

Dispose(Boolean)

입력에 관계없이 계약의 수명 토큰을 취소하고 관리되는 리소스를 선택적으로 해제합니다.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
Finalize()

인스턴스와 연결된 리소스를 해제합니다 ContractHandle .

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상