Поделиться через


ContextUtil.MyTransactionVote Свойство

Определение

Получает или задает бит consistent в контексте объекта COM+.

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

Значение свойства

Одно из значений TransactionVote, или Commit или Abort.

Исключения

Контекст COM+ недоступен.

Примеры

В следующем примере кода показано, как использовать MyTransactionVote свойство для создания транзакционного 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

Комментарии

Если MyTransactionVote задано значение Commit, для бита COM+ consistent задано значение true , а контекст COM+ голосует за фиксацию транзакции. Если MyTransactionVote задано значение Abort, consistent биту присваивается значение false , а контекст COM+ голосует за прерывание транзакции. Значение бита consistent по умолчанию — true.

Бит consistent голосует, чтобы зафиксировать или прервать транзакцию, в которой он выполняется, а done бит завершает голосование. COM+ проверяет бит, consistent когда done биту присваивается значение true при возврате вызова метода или при отключении объекта. Хотя бит объекта consistent может многократно изменяться в каждом вызове метода, учитывается только последнее изменение.

Применяется к