TransactionFlowAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan apakah operasi layanan menerima transaksi masuk dari klien.
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
- Warisan
- Atribut
- Penerapan
Contoh
Contoh kode berikut menunjukkan penggunaan enumerasi ini bersama dengan TransactionFlowOption kelas di tingkat operasi.
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."
);
}
}
}
Keterangan
TransactionFlowAttribute adalah atribut yang digunakan secara deklaratif untuk mengaitkan kebijakan alur transaksi tertentu dengan operasi layanan. Properti TransactionFlowOption atribut ini menentukan apakah operasi masing-masing menerima transaksi yang mengalir dari klien, atau jika operasi mengharuskan klien untuk selalu mengalirkan transaksi. juga TransactionFlowAttribute dapat digunakan sebagai perilaku operasi untuk mengaitkan kebijakan alur transaksi secara terprogram dengan operasi tertentu. Dalam hal ini, harus ditambahkan ke Behaviors koleksi pada deskripsi operasi.
Note
OperationContract untuk setiap metode yang menggunakan TransactionFlowAttribute harus menyediakan string yang sepenuhnya memenuhi syaratAction. Nilai "*" tidak didukung.
Konstruktor
| Nama | Deskripsi |
|---|---|
| TransactionFlowAttribute(TransactionFlowOption) |
Menginisialisasi instans baru dari kelas TransactionFlowAttribute. |
Properti
| Nama | Deskripsi |
|---|---|
| Transactions |
Mendapatkan nilai yang menunjukkan apakah transaksi masuk didukung. |
| TypeId |
Ketika diimplementasikan dalam kelas turunan, mendapatkan pengidentifikasi unik untuk Attributeini. (Diperoleh dari Attribute) |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
| GetHashCode() |
Mengembalikan kode hash untuk instans ini. (Diperoleh dari Attribute) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| IsDefaultAttribute() |
Ketika ditimpa dalam kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan. (Diperoleh dari Attribute) |
| Match(Object) |
Saat ditimpa dalam kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari Attribute) |
| IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Menambahkan parameter tambahan (pengaturan) ke konteks pengikatan untuk mendukung perilaku operasi ini. Metode ini tidak dapat diwariskan. |
| IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Melampirkan fungsionalitas atribut ke |
| IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Melampirkan fungsionalitas atribut ke DispatchOperation objek untuk metode yang ditandai atribut. Metode ini tidak dapat diwariskan. |
| IOperationBehavior.Validate(OperationDescription) |
Memverifikasi bahwa operasi dapat mendukung perilaku ini. Metode ini tidak dapat diwariskan. |