ReceiveContext.Abandon Methode

Definition

Bewirkt, dass der Statuscomputer in den Abgebrochen-Zustand übergeht.

Überlädt

Abandon(TimeSpan)

Bewirkt, dass der Statuscomputer mit dem angegebenen Timeoutwert in den Abgebrochen-Zustand übergeht.

Abandon(Exception, TimeSpan)

Bewirkt, dass der Statuscomputer mit der angegebenen Ausnahme und dem Timeoutwert in den Abgebrochen-Zustand übergeht.

Hinweise

Abandon reagiert möglicherweise nicht mehr, wenn es eine Ambient-Transaktion gibt und aufgerufen wird, und anschließend wird für die Transaktion Complete ein Rollback ausgeführt. Wenn vor Abschluss des Transaktionsrollbacks aufgerufen wird, ist eine Racebedingung vorhanden, die dazu führt, dass der Aufruf von Abandon Abandon nicht mehr reagiert. Dies kann im folgenden Pseudocodebeispiel veranschaulicht werden.

using (TransactionScope ts = new TransactionScope())   
{  
   try  
   {  
       rc.Complete();  
      ...  
   }  
   Catch (Exception)   
   {  
      rc.Abandon()  
   }  
}  

Dies ist nicht das empfohlene Muster für die Arbeit mit ReceiveContext . Stattdessen sollte der try/catch-Block außerhalb des Transaktionsbereichs platziert werden.

Abandon(TimeSpan)

Bewirkt, dass der Statuscomputer mit dem angegebenen Timeoutwert in den Abgebrochen-Zustand übergeht.

public:
 virtual void Abandon(TimeSpan timeout);
public virtual void Abandon (TimeSpan timeout);
abstract member Abandon : TimeSpan -> unit
override this.Abandon : TimeSpan -> unit
Public Overridable Sub Abandon (timeout As TimeSpan)

Parameter

timeout
TimeSpan

Das Timeout für den Abschluss des Abbruchvorgangs.

Gilt für

Abandon(Exception, TimeSpan)

Bewirkt, dass der Statuscomputer mit der angegebenen Ausnahme und dem Timeoutwert in den Abgebrochen-Zustand übergeht.

public:
 virtual void Abandon(Exception ^ exception, TimeSpan timeout);
public virtual void Abandon (Exception exception, TimeSpan timeout);
abstract member Abandon : Exception * TimeSpan -> unit
override this.Abandon : Exception * TimeSpan -> unit
Public Overridable Sub Abandon (exception As Exception, timeout As TimeSpan)

Parameter

exception
Exception

Die Ausnahme, die den Abbruchvorgang bewirkt.

timeout
TimeSpan

Das Timeout für den Abschluss des Abbruchvorgangs.

Gilt für