ReceiveContext.Abandon Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.