Metode IObjectContext::D isableCommit (comsvcs.h)

Menyatakan bahwa pembaruan transaksional objek berada dalam keadaan tidak konsisten dan tidak dapat diterapkan dalam statusnya saat ini.

Sintaks

HRESULT DisableCommit();

Mengembalikan nilai

Metode ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan. Pembaruan transaksi objek tidak dapat dilakukan sampai objek memanggil EnableCommit atau SetComplete.
E_UNEXPECTED
Terjadi kesalahan tak terduga. Ini dapat terjadi jika satu objek meneruskan penunjuk IObjectContext ke objek lain dan objek lainnya memanggil DisableCommit menggunakan penunjuk ini. Penunjuk IObjectContext tidak valid di luar konteks objek yang awalnya mendapatkannya.
CONTEXT_E_NOCONTEXT
Objek saat ini tidak memiliki konteks yang terkait dengannya. Ini mungkin karena tidak dibuat dengan salah satu metode COM+ CreateInstance.

Keterangan

Anda dapat menggunakan metode DisableCommit untuk mencegah transaksi berkomitmen sebelum waktunya antara panggilan metode dalam objek stateful. Ketika objek memanggil DisableCommit, itu menunjukkan bahwa pekerjaannya tidak konsisten dan tidak dapat menyelesaikan pekerjaannya sampai menerima pemanggilan metode lebih lanjut dari klien. Ini juga menunjukkan bahwa ia perlu mempertahankan statusnya untuk melakukan pekerjaan itu. Ini mencegah COM+ menonaktifkan objek dan mengklaim kembali sumber dayanya saat dikembalikan dari panggilan metode. Ketika objek telah disebut DisableCommit, jika klien mencoba untuk melakukan transaksi sebelum objek disebut EnableCommit atau SetComplete, transaksi dibatalkan.

Misalnya, Anda memiliki komponen GeneralLedger yang memperbarui database. Klien melakukan beberapa panggilan ke objek GeneralLedger untuk memposting entri ke berbagai akun. Ada batasan integritas yang mengatakan debit harus sama dengan kredit ketika pemanggilan metode akhir kembali, atau transaksi harus dibatalkan. Objek GeneralLedger memiliki metode inisialisasi di mana klien menginformasikan urutan panggilan yang akan dilakukan klien, dan objek GeneralLedger memanggil DisableCommit. Objek mempertahankan statusnya di antara panggilan sehingga, setelah panggilan akhir dalam urutan dibuat, objek dapat memastikan batasan integritas terpenuhi sebelum memungkinkan pekerjaannya dilakukan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header comsvcs.h

Lihat juga

IObjectContext