ContextUtil.MyTransactionVote Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the consistent
bit in the COM+ context.
public:
static property System::EnterpriseServices::TransactionVote MyTransactionVote { System::EnterpriseServices::TransactionVote get(); void set(System::EnterpriseServices::TransactionVote value); };
public static System.EnterpriseServices.TransactionVote MyTransactionVote { get; set; }
static member MyTransactionVote : System.EnterpriseServices.TransactionVote with get, set
Public Shared Property MyTransactionVote As TransactionVote
Property Value
One of the TransactionVote values, either Commit
or Abort
.
Exceptions
There is no COM+ context available.
Examples
The following code example demonstrates how to use MyTransactionVote property to create a transactional ServicedComponent.
[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
Remarks
When MyTransactionVote is set to Commit
, the COM+ consistent
bit is set to true
and the COM+ context votes to commit the transaction. If MyTransactionVote is set to Abort
, the consistent
bit is set to false
and the COM+ context votes to abort the transaction. The default value of the consistent
bit is true
.
The consistent
bit casts a vote to commit or abort the transaction in which it executes, and the done
bit finalizes the vote. COM+ inspects the consistent
bit when the done
bit is set to true
on a method call return or when the object deactivates. Although an object's consistent
bit can change repeatedly within each method call, only the last change counts.