ContractHandle Kelas

Definisi

Menyediakan metode yang mengontrol masa pakai add-in.

public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
    interface IDisposable
Public Class ContractHandle
Implements IDisposable
Warisan
ContractHandle
Penerapan

Contoh

Contoh berikut menunjukkan cara mengatur handel token seumur hidup dalam adaptor kontrak-ke-tampilan di sisi add-in alur.

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

Keterangan

Karena model add-in menyediakan kemampuan add-in untuk berkomunikasi antara domain aplikasi dan antar proses, add-in tidak dapat mengandalkan pengumpul sampah untuk mengklaimnya kembali. Kelas ini menyediakan mekanisme penghitungan referensi untuk add-in dengan mendapatkan token seumur hidup ke kontraknya.

ContractHandle Ketika objek dibangun, objek memanggil AcquireLifetimeToken metode pada kontrak yang diteruskan ke konstruktor. ContractHandle Ketika objek dibuang atau diselesaikan, objek memanggil RevokeLifetimeToken metode pada kontrak, yang menghapus penahanannya pada kontrak.

Adaptor mengimplementasikan kontrak. Kelas ContractHandle ini dirancang untuk digunakan dalam adaptor kontrak-ke-tampilan untuk membantu pengembang alur mengelola masa pakai kontrak yang sedang diadaptasi. Biasanya, instans kelas ini dibuat selama konstruksi kelas adaptor dan disimpan dalam bidang instans adaptor. Ketika kelas adaptor dikumpulkan sampah, ContractHandle objek juga akan dikumpulkan dan ContractHandle objek akan mencabut token seumur hidup pada kontrak.

Disarankan agar adaptor tampilan ke kontrak Anda mewarisi dari ContractBase kelas . Anda kemudian dapat menggunakan implementasi default untuk anggota IContract, yang berarti Anda hanya perlu mengimplementasikan anggota kontrak spesifik Anda.

Konstruktor

ContractHandle(IContract)

Menginisialisasi instans baru kelas ContractHandle.

Properti

Contract

Mendapatkan kontrak yang digunakan oleh alur.

Metode

AppDomainOwner(AppDomain)

Mendapatkan instans adaptor sisi add-in saat domain aplikasi dibuat.

ContractOwnsAppDomain(IContract, AppDomain)

Menentukan apakah domain aplikasi dimiliki oleh kontrak yang ditentukan.

Dispose()

Mencabut token seumur hidup pada kontrak, terlepas dari inputnya.

Dispose(Boolean)

Mencabut token seumur hidup pada kontrak terlepas dari input dan secara opsional merilis sumber daya terkelola.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Merilis sumber daya yang terkait dengan ContractHandle instans.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk