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 |
---|---|
|
Metode berhasil diselesaikan. Pembaruan transaksi objek tidak dapat dilakukan sampai objek memanggil EnableCommit atau SetComplete. |
|
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. |
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk