TransactionFlowAttribute Klasse

Definition

Gibt an, ob ein Dienstvorgang eingehende Transaktionen von einem Client akzeptiert.

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
Vererbung
TransactionFlowAttribute
Attribute
Implementiert

Beispiele

Das folgende Codebeispiel zeigt die Verwendung dieser Enumeration zusammen mit der TransactionFlowOption Klasse auf Vorgangsebene.

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."  
      );  
    }  
  }  
}  

Hinweise

Dies TransactionFlowAttribute ist ein Attribut, das deklarativ verwendet wird, um eine bestimmte Transaktionsflussrichtlinie einem Dienstvorgang zuzuordnen. Die TransactionFlowOption Eigenschaft dieses Attributs gibt an, ob der jeweilige Vorgang eine transaktion akzeptiert, die vom Client fließt, oder ob der Vorgang erfordert, dass der Client immer eine Transaktion fließt. Dies TransactionFlowAttribute kann auch als Vorgangsverhalten verwendet werden, um eine Transaktionsflussrichtlinie programmgesteuert einem bestimmten Vorgang zuzuordnen. In diesem Fall sollte sie der Auflistung in der Behaviors Beschreibung des Vorgangs hinzugefügt werden.

Note

Die OperationContract für jede Methode, die die TransactionFlowAttribute Methode verwendet, muss eine vollqualifizierte Action Zeichenfolge bereitstellen. Ein Wert von "*" wird nicht unterstützt.

Konstruktoren

Name Beschreibung
TransactionFlowAttribute(TransactionFlowOption)

Initialisiert eine neue Instanz der TransactionFlowAttribute-Klasse.

Eigenschaften

Name Beschreibung
Transactions

Ruft einen Wert ab, der angibt, ob die eingehende Transaktion unterstützt wird.

TypeId

Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute.

(Geerbt von Attribute)

Methoden

Name Beschreibung
Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diesen instance zurück.

(Geerbt von Attribute)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit denen die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

(Geerbt von Attribute)
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Fügt dem Bindungskontext zusätzliche Parameter (Einstellungen) hinzu, um das Verhalten dieses Vorgangs zu unterstützen. Diese Methode kann nicht geerbt werden.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Fügt die Attributfunktionalität an das ProxyOperation Objekt für die Methode an, die das Attribut markiert. Diese Methode kann nicht geerbt werden.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Fügt die Attributfunktionalität an das DispatchOperation Objekt für die Methode an, die das Attribut markiert. Diese Methode kann nicht geerbt werden.

IOperationBehavior.Validate(OperationDescription)

Überprüft, ob der Vorgang dieses Verhalten unterstützen kann. Diese Methode kann nicht geerbt werden.

Gilt für:

Weitere Informationen