TransactionFlowAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legt fest, ob ein Dienstvorgang die vom Client eingehenden Transaktionen annimmt.
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
- Attribute
- Implementiert
Beispiele
Im folgenden Codebeispiel wird die Verwendung dieser Enumeration in Verbindung mit der TransactionFlowOption-Klasse auf Betriebsebene dargestellt.
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
TransactionFlowAttribute ist ein Attribut, das deklarativ verwendet wird, um eine bestimmte Transaktionsflussrichtlinie mit einem Dienstvorgang zu verknüpfen. Die TransactionFlowOption-Eigenschaft dieses Attributs gibt an, ob der entsprechende Vorgang eine vom Client übertragene Transaktion annimmt, oder ob der Vorgang erfordert, dass der Client immer eine Transaktion überträgt. Das TransactionFlowAttribute kann auch als Vorgangsverhalten verwendet werden, um eine Transaktionsflussrichtlinie programmgesteuert mit einem bestimmten Vorgang zu verknüpfen. In diesem Fall sollte der Auflistung auf der Behaviors
Beschreibung des Vorgangs hinzugefügt werden.
Hinweis
Der OperationContract
jeder Methode, die das TransactionFlowAttribute verwendet, muss eine vollständig qualifizierte Action
-Zeichenfolge bereitstellen. Der Wert "*" wird nicht unterstützt.
Konstruktoren
TransactionFlowAttribute(TransactionFlowOption) |
Initialisiert eine neue Instanz der TransactionFlowAttribute-Klasse. |
Eigenschaften
Transactions |
Ruft einen Wert ab, der angibt, ob die eingehende Transaktion unterstützt wird. |
TypeId |
Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab. (Geerbt von Attribute) |
Methoden
Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Geerbt von Attribute) |
GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. (Geerbt von Attribute) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IsDefaultAttribute() |
Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist. (Geerbt von Attribute) |
Match(Object) |
Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Geerbt von Attribute) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
_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 deren Hilfe 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) |
Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (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 vererbt werden. |
IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Fügt die Attributfunktionalität an das |
IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Fügt die Attributfunktionalität an das DispatchOperation-Objekt für die Methode an, die vom Attribut markiert wird. Diese Methode kann nicht vererbt werden. |
IOperationBehavior.Validate(OperationDescription) |
Überprüft, dass der Vorgang dieses Verhalten unterstützen kann. Diese Methode kann nicht vererbt werden. |