Enlistment.Done Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İşlem katılımcısının çalışmasını tamamladığını gösterir.
public:
void Done();
public void Done ();
member this.Done : unit -> unit
Public Sub Done ()
Açıklamalar
İşlem işlemenin son aşaması sırasında işlem yöneticisi, işlemin işlenip işlenmeyeceğine veya InDoubt geri alınıp alınmayacağına bağlı olarak katılımcının veya Rollback yöntemini çağırırCommit. 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 işlem yöneticisine Done 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 ilgili bildirim çağrısını aldığından 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.
Bir liste, hazırlama aşamasında çağrılmadan önce yöntemini her zaman çağırabilir Done Prepared . Bunu yaptığınızda, liste salt okunur bir oy verir; başka bir deyişle işlem üzerinde işleme oy verir, ancak nihai sonucu alması gerekmez. Bu yöntem çağrıldıktan sonra, listeye alınan katılımcının işlem yöneticisinden başka bildirim almadığını unutmayın.