ContextUtil.MyTransactionVote 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 COM+ 內容中的 consistent
位元。
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
備註
當 設定為 Commit
時MyTransactionVote,COM+ 位會設定true
為 ,而 COM+ consistent
內容會投票認可交易。 如果 MyTransactionVote 設定為 Abort
,則會 consistent
將 位設定 false
為 ,而 COM+ 內容會投票以中止交易。 位的 consistent
預設值為 true
。
位 consistent
會將投票轉換成認可或中止其執行的交易,而位會 done
完成投票。 COM+ 會在 consistent
方法呼叫傳回或物件停用時 done
,檢查位 true
。 雖然物件的 consistent
位可以在每個方法呼叫中重複變更,但只有最後一個變更計數。