Bagikan melalui


InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Metode

Definisi

Mengikat kunci yang ada pada instans ke handel instans saat ini. Versi kunci yang ada diteruskan sebagai parameter.

public:
 void BindReclaimedLock(long instanceVersion, TimeSpan timeout);
public void BindReclaimedLock (long instanceVersion, TimeSpan timeout);
member this.BindReclaimedLock : int64 * TimeSpan -> unit
Public Sub BindReclaimedLock (instanceVersion As Long, timeout As TimeSpan)

Parameter

instanceVersion
Int64

Versi kunci yang ditahan pada instans, atau nol jika penyedia persistensi tidak menerapkan versi kunci.

timeout
TimeSpan

Nilai waktu habis untuk operasi.

Keterangan

Saat mencoba memperoleh kunci, penyedia persistensi dapat memutuskan bahwa instans saat ini sudah dikunci di penyimpanan saat ini. Jika token kunci cocok dengan token kunci handel saat ini, maka penyedia persistensi dapat mencoba mengklaim kembali kunci dengan memeriksa versinya dan meneruskannya ke BindReclaimedLock. Penyedia persistensi tidak boleh membuat perubahan pada instans hingga kunci berhasil diklaim kembali. Jika tidak ada handel lain yang terikat pada kunci, maka BindReclaimedLock berhasil dan handel saat ini terikat pada kunci. Jika tidak, BindReclaimedLock melempar InstanceHandleConflictException. Jika perintah sedang berlangsung pada handel lain, BindReclaimedLock dapat memblokir menunggu hasil perintah tersebut sebelum memutuskan apakah kunci dapat diklaim kembali.

Handel instans saat ini harus terikat ke instans dan pemilik kunci. Instans tidak boleh diselesaikan. Token kunci yang terkait dengan pemilik kunci digunakan untuk mengidentifikasi pemilik kunci.

Setelah kunci terikat ke handel, kunci tetap terikat selama masa pakai handel. Baik token kunci maupun versi instans tidak dapat diubah.

Berlaku untuk