Aracılığıyla paylaş


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 bildirimli 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 gerektip 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.

Not

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

Oluşturucular

TransactionFlowAttribute(TransactionFlowOption)

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

Özellikler

Transactions

Gelen işlemin desteklenip desteklenmediğini belirten 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

Equals(Object)

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

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

Bu örneğe ilişkin karma kodu döndürür.

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

Type Geçerli örneğini 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ı belirten bir değer döndürür.

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_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 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öntemi için nesneye öznitelik işlevselliğini ProxyOperation ekler. Bu yöntem devralınamaz.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Özniteliğin işaretlediğini yöntemi için nesneye öznitelik işlevselliğini DispatchOperation 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.