ContractHandle Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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) |