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 resourceManagerIdentifier, byte[] recoveryInformation, System.Transactions.IEnlistmentNotification enlistmentNotification);
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
Parametreler
- recoveryInformation
- Byte[]
Kurtarma bilgileriyle ilgili ek bilgiler içerir.
- enlistmentNotification
- IEnlistmentNotification
Bildirim almak için uygulayan IEnlistmentNotification bir kaynak nesnesi.
Döndürülenler
Enlistment Kaydı açıklayan bir.
Özel durumlar
recoveryInformation geçersiz.
-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
Important
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 ilk olarak listeleme sırasında yöntemini çağırdığında kullanılanla resourceManagerIdentifier aynı EnlistDurable şekilde 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, Rollbackveya 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 kayıt altına alınan çözümlenmemiş işlemleri tekrar listedekilere dahil etmeniz gerekir. Bu yöntemi geçersiz zamanlarda çağırma girişimi 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 listede yöntemini çağırdıktan kısa bir süre sonra kurtarma gerçekleştirirse, kaynak yöneticiniz veya InDoubt geri çağırmayı Rollback alabilir.
Kurtarma hakkında daha fazla bilgi için bkz. Kurtarma Gerçekleştirme.