Lire en anglais

Partager via


TransactionIsolationLevel Énumération

Définition

Spécifie la valeur de TransactionAttribute.

C#
[System.Serializable]
public enum TransactionIsolationLevel
Héritage
TransactionIsolationLevel
Attributs

Champs

Nom Valeur Description
Any 0

Le niveau d’isolation pour le composant est obtenu à partir du niveau d’isolation du composant appelant. S’il s’agit du composant racine, le niveau d’isolation utilisé est Serializable.

ReadCommitted 2

Les verrous restent partagés pendant que les données sont lues afin de ne pas lire des données modifiées. Les données peuvent toutefois être modifiées avant la fin de la transaction, entraînant des lectures non renouvelées ou des données fantômes.

ReadUncommitted 1

Les verrous partagés sont émis et aucun verrou exclusif n’est respecté.

RepeatableRead 3

Des verrous sont placés sur toutes les données utilisées dans une requête afin d’empêcher d’autres utilisateurs de mettre à jour les données. Empêche les lectures non renouvelées, mais les lignes fantômes sont toujours possibles.

Serializable 4

Empêche la mise à jour ou l’insertion tant que la transaction n’est pas terminée.

Exemples

L’exemple de code suivant illustre l’utilisation du TransactionIsolationLevel type .

C#
using System;
using System.EnterpriseServices;
using System.Reflection;

// References:
// System.EnterpriseServices

// An instance of this class will inherit its caller's transaction isolation
// level if available. If not, it will use isolation level Serializable.
[Transaction(Isolation=TransactionIsolationLevel.Any)]
public class TransactionAttribute_IsolationAny : ServicedComponent
{
}

// An instance of this class will read only committed data, but non-repeatable
// reads and phantom rows are still possible.
[Transaction(Isolation=TransactionIsolationLevel.ReadCommitted)]
public class TransactionAttribute_IsolationReadCommitted : ServicedComponent
{
}

// An instance of this class will read committed and uncommitted data, so dirty
// reads, non-repeatable reads, and phantom rows are possible.
[Transaction(Isolation=TransactionIsolationLevel.ReadUncommitted)]
public class TransactionAttribute_IsolationReadUncommitted : ServicedComponent
{
}

// An instance of this class will read only committed data and place shared
// locks on the data, preventing other users from modifying it, but other users
// can still insert rows into the data set, so phantom rows are still possible.
[Transaction(Isolation=TransactionIsolationLevel.RepeatableRead)]
public class TransactionAttribute_IsolationRepeatableRead : ServicedComponent
{
}

// An instance of this class will read only committed data and place a range
// lock on the data set, preventing other users from updating or inserting rows
// into the data set until its transaction is complete.
[Transaction(Isolation=TransactionIsolationLevel.Serializable)]
public class TransactionAttribute_IsolationSerializable : ServicedComponent
{
}

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1