TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) 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.
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
- 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 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 resourceManagerIdentifier
için zaten çağrıldı. Yeniden liste reddedilir.
, resourceManagerIdentifier
içinde recoveryInformation
belirtilen 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.