Aracılığıyla paylaş


TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Yöntem

Tanım

Bir işlemdeki dayanıklı katılımcıyı yeniden listeler.

public:
 static System::Transactions::Enlistment ^ Reenlist(Guid resourceManagerIdentifier, cli::array <System::Byte> ^ recoveryInformation, System::Transactions::IEnlistmentNotification ^ enlistmentNotification);
public:
 static System::Transactions::Enlistment ^ Reenlist(Guid manager, cli::array <System::Byte> ^ recoveryInfo, System::Transactions::IEnlistmentNotification ^ notification);
public static System.Transactions.Enlistment Reenlist (Guid resourceManagerIdentifier, byte[] recoveryInformation, System.Transactions.IEnlistmentNotification enlistmentNotification);
public static System.Transactions.Enlistment Reenlist (Guid manager, byte[] recoveryInfo, System.Transactions.IEnlistmentNotification notification);
static member Reenlist : Guid * byte[] * System.Transactions.IEnlistmentNotification -> System.Transactions.Enlistment
static member Reenlist : Guid * byte[] * System.Transactions.IEnlistmentNotification -> System.Transactions.Enlistment
Public Shared Function Reenlist (resourceManagerIdentifier As Guid, recoveryInformation As Byte(), enlistmentNotification As IEnlistmentNotification) As Enlistment
Public Shared Function Reenlist (manager As Guid, recoveryInfo As Byte(), notification As IEnlistmentNotification) As Enlistment

Parametreler

resourceManagerIdentifiermanager
Guid

Guid Kaynak yöneticisini benzersiz olarak tanımlayan bir.

recoveryInformationrecoveryInfo
Byte[]

Kurtarma bilgileriyle ilgili ek bilgiler içerir.

enlistmentNotificationnotification
IEnlistmentNotification

Bildirimleri almak için uygulayan IEnlistmentNotification bir kaynak nesnesi.

Döndürülenler

Enlistment

Enlistment Listeye ekleme işlemini açıklayan bir.

Özel durumlar

recoveryInformation geçersizdir.

-veya- içindeki recoveryInformation Transaction Manager bilgileri yapılandırılan işlem yöneticisiyle eşleşmiyor.

-veya- RecoveryInformation tarafından System.Transactionstanınmıyor.

RecoveryComplete(Guid) belirtilen resourceManagerIdentifieriçin zaten çağrıldı. Yeniden liste reddedilir.

, resourceManagerIdentifier içinde recoveryInformationbelirtilen kurtarma bilgilerinin içeriğiyle eşleşmiyor.

Açıklamalar

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Kaynak yöneticisi, kaynak hatasından sonra işlem katılımcısını yeniden listeleyerek bir işlemdeki dayanıklı listelemelerin çözülmesini kolaylaştırır.

resourceManagerIdentifier parametresi, kaynak hatası durumunda bir işlemin katılımcısını tutarlı bir şekilde etiketlemek için kullanılır. yöntemini çağırırkenReenlist, kaynak yöneticisinin listeleme sırasında yöntemini ilk çağırdığında kullanılanla EnlistDurable aynı resourceManagerIdentifier değeri sağlaması gerekir veya bir TransactionException oluşturulur.

Bir katılımcı bu yöntem kullanılarak yeniden listelendiğinde, işlemin sonucuna karşılık gelen aşama 2 yöntemleri IEnlistmentNotification (, Commit Rollback veya InDoubt ) uygun şekilde çağrılır.

Katılımcılar başarıyla yeniden listelendikten sonra kurtarmayı tamamlamak için aramanız RecoveryComplete gerekir.

Bu yöntemi yalnızca bir kaynak yöneticisi hatadan yeniden başlatıldığında çağırmalısınız. Ayrıca, yalnızca iki aşamalı işlemenin ilk Hazırlama aşamasında bir kaynak yöneticisi tarafından günlüğe kaydedilen çözülmemiş işlemleri yeniden listelemeniz gerekir. Bu yöntemi geçersiz zamanlarda çağırmak için her türlü girişim hatalı sonuçlara neden olabilir.

İşlem yöneticisi başarısız olursa ve kaynak yöneticiniz, Two-Phase İşleme protokolünün Prepared 1. aşamasındaki bir liste üzerinde yöntemini çağırdıktan kısa bir süre sonra kurtarma gerçekleştirirse, kaynak yöneticiniz veya Rollback geri çağırmayı InDoubt alabilir.

Kurtarma hakkında daha fazla bilgi için bkz. Kurtarma Gerçekleştirme.

Not Bu yöntem, güvenilmeyen koddan çağrılmasını önlemek için kullanır LinkDemand ; ancak izin kümesine sahip FullTrust olmak için yalnızca hemen çağıran gereklidir.

Şunlara uygulanır

Ayrıca bkz.