TransactionFlowAttribute Sınıf

Tanım

Bir hizmet işleminin istemciden gelen işlemleri kabul edip etmediğini belirtir.

public ref class TransactionFlowAttribute sealed : Attribute, System::ServiceModel::Description::IOperationBehavior
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class TransactionFlowAttribute : Attribute, System.ServiceModel.Description.IOperationBehavior
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type TransactionFlowAttribute = class
    inherit Attribute
    interface IOperationBehavior
Public NotInheritable Class TransactionFlowAttribute
Inherits Attribute
Implements IOperationBehavior
Devralma
TransactionFlowAttribute
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bu numaralandırmanın işlem düzeyinde sınıfıyla TransactionFlowOption birlikte kullanımını gösterir.

using System;  
using System.ServiceModel;  
using System.Transactions;  

namespace Microsoft.WCF.Documentation  
{  
  [ServiceContract(  
    Namespace="http://microsoft.wcf.documentation",   
    SessionMode=SessionMode.Required  
  )]  
  public interface IBehaviorService  
  {  
    [OperationContract]  
    [TransactionFlow(TransactionFlowOption.Mandatory)]  
    string TxWork(string message);  
  }  

  // Note: To use the TransactionIsolationLevel property, you   
  // must add a reference to the System.Transactions.dll assembly.  
  /* The following service implementation:  
   *   -- Processes messages on one thread at a time  
   *   -- Creates one service object per session  
   *   -- Releases the service object when the transaction commits  
   */  
  [ServiceBehavior(  
    ConcurrencyMode=ConcurrencyMode.Single,  
    InstanceContextMode=InstanceContextMode.PerSession,  
    ReleaseServiceInstanceOnTransactionComplete=true  
  )]  
  public class BehaviorService : IBehaviorService, IDisposable  
  {  
    Guid myID;  

    public BehaviorService()  
    {  
      myID = Guid.NewGuid();  
      Console.WriteLine(  
        "Object "  
        + myID.ToString()  
        + " created.");  
    }  

    /*  
    / * The following operation-level behaviors are specified:  
    / * Always executes under a transaction scope.  
    / * The transaction scope is completed when the operation  
    / * terminates without an unhandled exception.  
    /*  
    [OperationBehavior(  
      TransactionAutoComplete = true,  
      TransactionScopeRequired = true  
    )]  
    public string TxWork(string message)  
    {  
      // Do some transactable work.  
      Console.WriteLine("TxWork called with: " + message);  
      // Display transaction information.  

      TransactionInformation info = Transaction.Current.TransactionInformation;  
      Console.WriteLine("The distributed tx ID: {0}.", info.DistributedIdentifier);  
      Console.WriteLine("The tx status: {0}.", info.Status);  
      return String.Format("Hello. This was object {0}.",myID.ToString()) ;  
    }  

    public void Dispose()  
    {  
      Console.WriteLine(  
        "Service "  
        + myID.ToString()  
        + " is being recycled."  
      );  
    }  
  }  
}  

Açıklamalar

TransactionFlowAttribute, belirli bir işlem akışı ilkesini bir hizmet işlemiyle ilişkilendirmek için bildirim temelli olarak kullanılan bir özniteliktir. TransactionFlowOption Bu özniteliğin özelliği, ilgili işlemin istemciden akan bir işlemi kabul edip etmediğini veya işlemin istemcinin her zaman bir işlem akışı gerçekleştirmesini gerektirip gerektirmediğini belirtir. , TransactionFlowAttribute bir işlem akışı ilkesini belirli bir işlemle program aracılığıyla ilişkilendirmek için bir işlem davranışı olarak da kullanılabilir. Bu durumda, işlemin açıklamasında Behaviors koleksiyona eklenmelidir.

Note

OperationContract kullanan TransactionFlowAttribute her yöntem için tam bir Action dize sağlamalıdır. "*" değeri desteklenmez.

Oluşturucular

Name Description
TransactionFlowAttribute(TransactionFlowOption)

TransactionFlowAttribute sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Transactions

Gelen işlemin desteklenip desteklenmediğini gösteren bir değer alır.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Name Description
Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğin karma kodunu döndürür.

(Devralındığı yer: Attribute)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Bu işlemin davranışını desteklemek için bağlama bağlamı için ek parametreler (ayarlar) ekler. Bu yöntem devralınamaz.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Özniteliğin işaretlediğini yönteminin ProxyOperation nesnesine öznitelik işlevselliğini ekler. Bu yöntem devralınamaz.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Özniteliğin işaretlediğini yönteminin DispatchOperation nesnesine öznitelik işlevselliğini ekler. Bu yöntem devralınamaz.

IOperationBehavior.Validate(OperationDescription)

İşlemin bu davranışı destekleyeebileceğini doğrular. Bu yöntem devralınamaz.

Şunlara uygulanır

Ayrıca bkz.