Aracılığıyla paylaş


IEnlistmentNotification.InDoubt(Enlistment) Yöntem

Tanım

Kayıtlı bir nesneye, işlemin durumunun şüpheli olduğunu bildirir.

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

Parametreler

enlistment
Enlistment

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

Açıklamalar

İşlem yöneticisi tek bir dayanıklı kaynağa tek aşamalı işleme işlemi çağırdığında ve ardından işlem sonucu alınamadan önce dayanıklı kaynağa bağlantı kaybedildiğinde geçici kaynaklar için bu yöntem çağrılır. Bu noktada işlem sonucu güvenli bir şekilde belirlenemez.

Bir işlem için son durum olarak InDoubt kabul edildiği gibi, çağrısı yaptıktan sonra veya Rollback çağrısı CommitInDoubtyaptıktan sonra aramamalısınız.

Not

Geçici kaynak için bu yöntemi uygulamanız, etkilenen veriler üzerinde anladığı kurtarma veya kapsama işlemini gerçekleştirmelidir. Ayrıca, işini bitirdiğinde parametresinde enlistment yöntemini çağırması Done gerekir.

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

Şunlara uygulanır