ContractHandle 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
추가 기능의 수명을 제어하는 메서드를 제공합니다.
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) |