Condividi tramite


ReceiveContext.Abandon Metodo

Definizione

Determina la transizione della macchina a stati verso lo stato abbandonato.

Overload

Abandon(TimeSpan)

Determina la transizione della macchina a stati verso lo stato abbandonato con il valore di timeout specificato.

Abandon(Exception, TimeSpan)

Determina la transizione della macchina a stati verso lo stato abbandonato con l'eccezione e il valore di timeout specificati.

Commenti

Abandon può smettere di rispondere quando è presente una transazione di ambiente e Complete viene chiamato e successivamente viene eseguito il rollback della transazione. Se Abandon viene chiamato prima del completamento del rollback della transazione, esisterà una race condition, causando l'arresto della chiamata Abandon . Questo può essere illustrato nell'esempio di pseudo-codice seguente

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

Questo non è il modello consigliato per l'utilizzo di ReceiveContext. Al contrario, il blocco try/catch deve essere posizionato all'esterno dell'ambito della transazione.

Abandon(TimeSpan)

Determina la transizione della macchina a stati verso lo stato abbandonato con il valore di timeout specificato.

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)

Parametri

timeout
TimeSpan

Timeout per l'operazione di abbandono da completare.

Si applica a

Abandon(Exception, TimeSpan)

Determina la transizione della macchina a stati verso lo stato abbandonato con l'eccezione e il valore di timeout specificati.

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)

Parametri

exception
Exception

Eccezione che determina l'operazione di abbandono.

timeout
TimeSpan

Timeout per l'operazione di abbandono da completare.

Si applica a