TransactionFlowAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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 |
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. |