Aracılığıyla paylaş


IEnlistmentNotification.Commit(Enlistment) Yöntem

Tanım

Kayıtlı bir nesneye bir işlemin işlendiğini bildirir.

public:
 void Commit(System::Transactions::Enlistment ^ enlistment);
public void Commit (System.Transactions.Enlistment enlistment);
abstract member Commit : System.Transactions.Enlistment -> unit
Public Sub Commit (enlistment As Enlistment)

Parametreler

enlistment
Enlistment

Enlistment İşlem yöneticisine yanıt göndermek için kullanılan nesne.

Açıklamalar

İşlem yöneticisi, bir taahhüdün ikinci aşamasında, tüm katılımcılara işlemi işlemeleri talimatını verdiği sırada, listelenmiş bir nesnenin bu yöntemini çağırır.

Kaynak yöneticisi işlemi tamamlamak için gereken tüm işleri gerçekleştirmeli ve ardından parametresinde enlistment yöntemini çağırarak Done TM'ye tamamlandığını bildirmelidir.

Kaynak yöneticisi kalıcı olarak listelenmişse ancak yöntemini çağırarak Done yanıt vermiyorsa, işlem yöneticisi kaynak yöneticisinin çağrıyı aldığından Commit emin değildir. Bu nedenle, işlem yöneticisi yanıt beklemeye devam eder ve bu işlemle ilgili bilgileri tutar. Hiçbir zaman çağrılmazsa Done , bu bilgi parçası bellekte veya sistem genelindeki bir kaynakta süresiz olarak tutulur. Bu, kaynakların geri alınamamasına neden olur. Dağıtılmış işlem söz konusu olduğunda, bu işlem sonunda MSDTC işlemini durduran MSDTC günlüğünü doldurabilir. tarafından System.Transactionsyönetilen bir işlem söz konusu olduğunda, bu durum kaynak yöneticisinin işleminin bellek tüketiminde aşamalı ve sürekli bir artışa neden olur. Bu nedenle, kaynak yöneticiniz hazırlama çalışmanızı tamamladıktan sonra yöntemini çağırmanız Done çok önemlidir.

Şunlara uygulanır