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
может многократно изменяться в каждом вызове метода, учитывается только последнее изменение.