ReceiveContext.Abandon Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Faz com que a máquina de estados transite para o estado abandonado.
Sobrecargas
| Name | Description |
|---|---|
| Abandon(TimeSpan) |
Faz com que a máquina de estados faça a transição para o estado abandonado com o valor de timeout especificado. |
| Abandon(Exception, TimeSpan) |
Faz com que a máquina de estados faça a transição para o estado abandonado com a exceção e o valor de timeout especificados. |
Observações
Abandon pode deixar de responder quando há uma transação ambiente e Complete é chamada e, posteriormente, a transação é revertida. Se Abandon for chamada antes da conclusão do rollback da transação, existirá uma condição de corrida, fazendo com que a chamada Abandon deixe de responder. Isto pode ser ilustrado pelo seguinte exemplo de pseudocódigo
using (TransactionScope ts = new TransactionScope())
{
try
{
rc.Complete();
...
}
Catch (Exception)
{
rc.Abandon()
}
}
Este não é o padrão recomendado para trabalhar com ReceiveContext. Em vez disso, o bloco try/catch deve ser colocado fora do âmbito da transação.
Abandon(TimeSpan)
Faz com que a máquina de estados faça a transição para o estado abandonado com o valor de timeout especificado.
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)
Parâmetros
- timeout
- TimeSpan
O tempo para a operação de abandono terminar.
Aplica-se a
Abandon(Exception, TimeSpan)
Faz com que a máquina de estados faça a transição para o estado abandonado com a exceção e o valor de timeout especificados.
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)
Parâmetros
- exception
- Exception
A exceção que causa a operação de abandono.
- timeout
- TimeSpan
O tempo para a operação de abandono terminar.