ReceiveContext.Abandon Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Faz com que a máquina de estado faça a transição para o estado abandonado.
Sobrecargas
Abandon(TimeSpan) |
Faz com que a máquina de estado faça a transição para o estado abandonado com o valor de tempo limite especificado. |
Abandon(Exception, TimeSpan) |
Faz com que a máquina de estado faça a transição para o estado abandonado com o valor de tempo limite e a exceção especificados. |
Comentários
Abandon pode parar de responder quando há uma transação de ambiente e Complete é chamada e, posteriormente, a transação é revertida. Se Abandon for chamado antes da conclusão da reversão da transação, uma condição de corrida existirá, fazendo com que a chamada Abandon pare de responder. Isso pode ser ilustrado pelo exemplo de pseudocódigo a seguir
using (TransactionScope ts = new TransactionScope())
{
try
{
rc.Complete();
...
}
Catch (Exception)
{
rc.Abandon()
}
}
Esse não é o padrão recomendado para trabalhar com ReceiveContext. Em vez disso, o bloco try/catch deve ser colocado fora do escopo da transação.
Abandon(TimeSpan)
Faz com que a máquina de estado faça a transição para o estado abandonado com o valor de tempo limite 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 limite para a conclusão da operação de abandono.
Aplica-se a
Abandon(Exception, TimeSpan)
Faz com que a máquina de estado faça a transição para o estado abandonado com o valor de tempo limite e a exceção 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 limite para a conclusão da operação de abandono.