ReceiveContext.Abandon Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.