ContextUtil.DeactivateOnReturn Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el bit done
en el contexto de COM+.
public:
static property bool DeactivateOnReturn { bool get(); void set(bool value); };
public static bool DeactivateOnReturn { get; set; }
static member DeactivateOnReturn : bool with get, set
Public Shared Property DeactivateOnReturn As Boolean
Valor de propiedad
Es true
si el objeto debe desactivarse cuando el método devuelva el control; en caso contrario, es false
. De manera predeterminada, es false
.
Excepciones
No hay contexto de COM+ disponible.
Ejemplos
En el ejemplo de código siguiente se muestra el uso de la DeactivateOnReturn propiedad para asegurarse de que se desactiva un ServicedComponent objeto después de una llamada de método.
[assembly:System::Reflection::AssemblyKeyFile("Transaction.snk")];
[Transaction]
public ref class TransactionalComponent: public ServicedComponent
{
public:
void TransactionalMethod( String^ data )
{
ContextUtil::DeactivateOnReturn = true;
ContextUtil::MyTransactionVote = TransactionVote::Abort;
// do work with data
ContextUtil::MyTransactionVote = TransactionVote::Commit;
}
};
[Transaction]
public class TransactionalComponent : ServicedComponent
{
public void TransactionalMethod (string data)
{
ContextUtil.DeactivateOnReturn = true;
ContextUtil.MyTransactionVote = TransactionVote.Abort;
// Do work with data. Return if any errors occur.
// Vote to commit. If any errors occur, this code will not execute.
ContextUtil.MyTransactionVote = TransactionVote.Commit;
}
}
<Transaction()> _
Public Class TransactionalComponent
Inherits ServicedComponent
Public Sub TransactionalMethod(ByVal data As String)
ContextUtil.DeactivateOnReturn = True
ContextUtil.MyTransactionVote = TransactionVote.Abort
' Do work with data. Return if any errors occur.
' Vote to commit. If any errors occur, this code will not execute.
ContextUtil.MyTransactionVote = TransactionVote.Commit
End Sub
End Class
Comentarios
El bit COM+ done
determina cuánto tiempo permanece activo el objeto después de finalizar su trabajo y puede afectar a la duración de una transacción. Cuando se devuelve una llamada de método, COM+ inspecciona el done
bit. Si el done
bit es true
, COM+ desactiva el objeto . Si el done
bit es false
, el objeto no se desactiva.