Freigeben über


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 eine Ambient-Transaktion vorhanden ist und Complete aufgerufen wird, und anschließend wird ein Rollback für die Transaktion ausgeführt. Wenn Abandon vor Abschluss des Transaktionsrollbacks aufgerufen wird, ist eine Racebedingung vorhanden, sodass der Aufruf von Abandon nicht mehr reagiert. Dies kann anhand des folgenden Pseudocodebeispiels 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: