共用方式為


ContextUtil.DeactivateOnReturn 屬性

定義

取得或設定 COM+ 內容中的 done 位元。

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

屬性值

如果在方法傳回時要停用該物件,則為 true,否則為 false。 預設為 false

例外狀況

沒有 COM+ 內容可供使用。

範例

下列程式代碼範例示範 如何使用 DeactivateOnReturn 屬性,以確保 在 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

備註

COM+ done 位會決定物件在完成工作后保持作用中的時間長度,而且可能會影響交易的持續時間。 當方法呼叫傳回時,COM+ 會 done 檢查位。 done如果位為 true,COM+ 會停用 物件。 done如果位為 false,則物件不會停用。

適用於