IEnlistmentNotification.InDoubt(Enlistment) Methode

Definitie

Hiermee wordt een in een lijst opgenomen object aangegeven dat de status van een transactie twijfelachtig is.

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)

Parameters

enlistment
Enlistment

Een Enlistment object dat wordt gebruikt om een antwoord naar de transactiebeheerder te verzenden.

Opmerkingen

Deze methode wordt aangeroepen voor vluchtige resources wanneer de transactiebeheerder een doorvoerbewerking met één fase heeft aangeroepen voor één duurzame resource en vervolgens verbinding met de duurzame resource is verbroken voordat het transactieresultaat werd opgehaald. Op dat moment kan het transactieresultaat niet veilig worden bepaald.

Zoals InDoubt wordt beschouwd als een definitieve status voor een transactie, moet u niet bellen Commit of Rollback na het bellen InDoubt.

Note

Uw implementatie van deze methode voor de vluchtige resource moet elke herstel- of insluitingsbewerking uitvoeren die wordt begrepen op de betrokken gegevens. De methode moet ook worden Done aangeroepen voor de enlistment parameter wanneer het werk is voltooid.

Als de resourcemanager duurzaam is ingeschreven, maar niet reageert door de aanroepmethode Done , weet de transactiebeheerder niet zeker dat de resourcemanager de InDoubt aanroep heeft ontvangen. Als zodanig blijft de transactiebeheerder wachten op een reactie en onderhoudt de informatie die relevant is voor deze transactie. Als Done dit nooit wordt aangeroepen, wordt dit stukje informatie voor onbepaalde tijd in het geheugen of in een systeembrede resource bewaard. Dit leidt ertoe dat resources niet kunnen worden vrijgemaakt. In het geval van een gedistribueerde transactie kan dit uiteindelijk het MSDTC-logboek vullen, waardoor het MSDTC-proces wordt gestopt. In het geval van een transactie die wordt beheerd door System.Transactions, resulteert dit in een geleidelijke en continue toename van het geheugenverbruik van het proces van resourcemanager. Daarom is het van cruciaal belang dat u de Done methode aanroept zodra uw resourcemanager klaar is met uw voorbereidingswerk.

Van toepassing op