Représente un cache en mémoire de données.
System.ComponentModel.MarshalByValueComponent
System.Data.DataSet
Espace de noms : System.Data
Assembly : System.Data (dans System.Data.dll)
<SerializableAttribute> _ Public Class DataSet _ Inherits MarshalByValueComponent _ Implements IListSource, IXmlSerializable, ISupportInitializeNotification, ISupportInitialize, _ ISerializable
[SerializableAttribute] public class DataSet : MarshalByValueComponent, IListSource, IXmlSerializable, ISupportInitializeNotification, ISupportInitialize, ISerializable
[SerializableAttribute] public ref class DataSet : public MarshalByValueComponent, IListSource, IXmlSerializable, ISupportInitializeNotification, ISupportInitialize, ISerializable
[<SerializableAttribute>] type DataSet = class inherit MarshalByValueComponent interface IListSource interface IXmlSerializable interface ISupportInitializeNotification interface ISupportInitialize interface ISerializable end
Le type DataSet expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
DataSet() | Initialise une nouvelle instance de la classe DataSet. |
|
DataSet(String) | Initialise une nouvelle instance d'une classe DataSet portant le nom donné. |
|
DataSet(SerializationInfo, StreamingContext) | Infrastructure. Initialise une nouvelle instance d'une classe DataSet qui contient les informations de sérialisation et le contexte donnés. |
|
DataSet(SerializationInfo, StreamingContext, Boolean) | Infrastructure. Initialise une nouvelle instance de la classe DataSet. |
| Nom | Description | |
|---|---|---|
|
CaseSensitive | Obtient ou définit une valeur indiquant si les comparaisons de chaînes au sein d'objets DataTable respectent la casse. |
|
Container | Obtient le conteneur du composant. (Hérité de MarshalByValueComponent.) |
|
DataSetName | Obtient ou définit le nom du DataSet en cours. |
|
DefaultViewManager | Obtient une vue personnalisée des données contenues dans le DataSet, permettant de filtrer, rechercher et naviguer à l'aide d'un DataViewManager personnalisé. |
|
DesignMode | Obtient une valeur indiquant si le composant est actuellement en mode design. (Hérité de MarshalByValueComponent.) |
|
EnforceConstraints | Obtient ou définit une valeur indiquant si les règles de contrainte doivent être respectées lorsque vous tentez une opération de mise à jour. |
|
Events | Obtient la liste des gestionnaires d'événements attachés à ce composant. (Hérité de MarshalByValueComponent.) |
|
ExtendedProperties | Obtient la collection d'informations utilisateur personnalisées associée au DataSet. |
|
HasErrors | Obtient une valeur indiquant s'il existe des erreurs dans les objets DataTable de ce DataSet. |
|
IsInitialized | Obtient une valeur qui indique si DataSet est initialisé. |
|
Locale | Obtient ou définit les paramètres régionaux utilisés pour comparer des chaînes dans la table. |
|
Namespace | Obtient ou définit l'espace de noms de DataSet. |
|
Prefix | Obtient ou définit un préfixe XML qui associe un alias à l'espace de noms de DataSet. |
|
Relations | Obtient la collection des relations qui relient des tables et permettent de naviguer des tables parentes aux tables enfants. |
|
RemotingFormat | Obtient ou définit un SerializationFormat pour le DataSet utilisé pendant la communication à distance. |
|
SchemaSerializationMode | Obtient ou définit un SchemaSerializationMode pour un DataSet. |
|
Site | Obtient ou définit un System.ComponentModel.ISite pour DataSet. (Substitue MarshalByValueComponent.Site.) |
|
Tables | Obtient la collection des tables contenues dans le DataSet. |
| Nom | Description | |
|---|---|---|
|
AcceptChanges | Valide toutes les modifications apportées à ce DataSet depuis son chargement ou depuis le dernier appel à AcceptChanges. |
|
BeginInit | Commence l'initialisation d'un DataSet qui est utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution. |
|
Clear | Efface toutes les données de DataSet en supprimant toutes les lignes de l'ensemble des tables. |
|
Clone | Copie la structure de DataSet, y compris tous les schémas, relations et contraintes DataTable. Ne copie aucune donnée. |
|
Copy | Copie à la fois la structure et les données de ce DataSet. |
|
CreateDataReader() | Retourne un DataTableReader avec un jeu de résultats par DataTable, dans la même séquence que les tables dans la collection Tables. |
|
CreateDataReader(DataTable[]) | Retourne un DataTableReader avec un jeu de résultats par DataTable. |
|
DetermineSchemaSerializationMode(XmlReader) | Détermine le SchemaSerializationMode pour un DataSet. |
|
DetermineSchemaSerializationMode(SerializationInfo, StreamingContext) | Détermine le SchemaSerializationMode pour un DataSet. |
|
Dispose() | Libère toutes les ressources utilisées par MarshalByValueComponent. (Hérité de MarshalByValueComponent.) |
|
Dispose(Boolean) | Libère les ressources non managées utilisées par MarshalByValueComponent et libère éventuellement les ressources managées. (Hérité de MarshalByValueComponent.) |
|
EndInit | Met fin à l'initialisation d'un DataSet qui est utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution. |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de MarshalByValueComponent.) |
|
GetChanges() | Obtient une copie du DataSet qui contient l'ensemble des modifications qui lui ont été apportées depuis son chargement ou depuis le dernier appel à AcceptChanges. |
|
GetChanges(DataRowState) | Obtient une copie du DataSet contenant l'ensemble des modifications qui lui ont été apportées depuis son dernier chargement ou depuis l'appel à AcceptChanges, filtrée par DataRowState. |
|
GetDataSetSchema | Infrastructure. Obtient une copie de XmlSchemaSet pour le DataSet. |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetObjectData | Remplit un objet d'informations de sérialisation avec les données nécessaires pour sérialiser DataSet. |
|
GetSchemaSerializable | Infrastructure. Retourne une instance sérialisable de XMLSchema. |
|
GetSerializationData | Infrastructure. Désérialise les données de table du flux binaire ou de données XML. |
|
GetService | Obtient l'implémenteur du IServiceProvider. (Hérité de MarshalByValueComponent.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
GetXml | Retourne la représentation XML des données stockées dans le DataSet. |
|
GetXmlSchema | Retourne le schéma XML de la représentation XML des données stockées dans le DataSet. |
|
HasChanges() | Obtient une valeur indiquant si DataSet contient des modifications, notamment des lignes nouvelles, supprimées ou modifiées. |
|
HasChanges(DataRowState) | Obtient une valeur indiquant si DataSet contient des modifications, notamment des lignes nouvelles, supprimées ou modifiées, filtrées par DataRowState. |
|
InferXmlSchema(Stream, String[]) | Applique le schéma XML à partir du Stream spécifié à DataSet. |
|
InferXmlSchema(String, String[]) | Applique le schéma XML à partir du fichier spécifié du DataSet. |
|
InferXmlSchema(TextReader, String[]) | Applique le schéma XML à partir du TextReader spécifié à DataSet. |
|
InferXmlSchema(XmlReader, String[]) | Applique le schéma XML à partir du XmlReader spécifié à DataSet. |
|
InitializeDerivedDataSet | Infrastructure. Désérialisez toutes les données de tables du DataSet du flux binaire ou de données XML. |
|
IsBinarySerialized | Inspecte le format de la représentation sérialisée de DataSet. |
|
Load(IDataReader, LoadOption, DataTable[]) | Remplit un DataSet avec des valeurs issues d'une source de données, à l'aide du IDataReader fourni, en utilisant un tableau d'instances de DataTable pour fournir les informations de schéma et d'espace de noms. |
|
Load(IDataReader, LoadOption, String[]) | Remplit un DataSet avec des valeurs issues d'une source de données, à l'aide du IDataReader fourni, en utilisant un tableau de chaînes pour fournir les noms des tables dans le DataSet. |
|
Load(IDataReader, LoadOption, FillErrorEventHandler, DataTable[]) | Remplit un DataSet avec des valeurs issues d'une source de données, à l'aide du IDataReader fourni, en utilisant un tableau d'instances de DataTable pour fournir les informations de schéma et d'espace de noms. |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
Merge(DataRow[]) | Fusionne un tableau d'objets DataRow dans le DataSet en cours. |
|
Merge(DataSet) | Fusionne un DataSet spécifié et son schéma dans le DataSet en cours. |
|
Merge(DataTable) | Fusionne un DataTable spécifié et son schéma dans le DataSet en cours. |
|
Merge(DataSet, Boolean) | Fusionne un DataSet spécifié et son schéma dans le DataSet en cours, en préservant ou en supprimant les modifications effectuées dans ce DataSet conformément à l'argument donné. |
|
Merge(DataRow[], Boolean, MissingSchemaAction) | Fusionne un tableau d'objets DataRow dans le DataSet en cours, en préservant ou en supprimant les modifications apportées au DataSet et en traitant tout schéma incompatible conformément aux arguments donnés. |
|
Merge(DataSet, Boolean, MissingSchemaAction) | Fusionne un DataSet spécifié et son schéma avec le DataSet en cours, en préservant ou en supprimant les modifications apportées au DataSet en cours, et en traitant un schéma incompatible conformément aux arguments donnés. |
|
Merge(DataTable, Boolean, MissingSchemaAction) | Fusionne un DataTable spécifié et son schéma dans le DataSet en cours, en préservant ou en supprimant les modifications apportées au DataSet et en traitant un schéma incompatible conformément aux arguments donnés. |
|
OnPropertyChanging | Déclenche l'événement OnPropertyChanging. |
|
OnRemoveRelation | Se produit lorsqu'un objet DataRelation est supprimé de DataTable. |
|
OnRemoveTable | Se produit lorsqu'un DataTable est supprimé de DataSet. |
|
RaisePropertyChanging | Envoie une notification indiquant que la propriété DataSet spécifiée est sur le point d'être modifiée. |
|
ReadXml(Stream) | Lit le schéma et les données XML dans le DataSet à l'aide du System.IO.Stream spécifié. |
|
ReadXml(String) | Lit le schéma et les données XML dans le DataSet à l'aide du fichier spécifié. |
|
ReadXml(TextReader) | Lit le schéma et les données XML dans le DataSet à l'aide du System.IO.TextReader spécifié. |
|
ReadXml(XmlReader) | Lit le schéma et les données XML dans le DataSet à l'aide du System.Xml.XmlReader spécifié. |
|
ReadXml(Stream, XmlReadMode) | Lit le schéma et les données XML dans le DataSet à l'aide des System.IO.Stream et XmlReadMode spécifiés. |
|
ReadXml(String, XmlReadMode) | Lit le schéma et les données XML dans le DataSet à l'aide du fichier et du XmlReadMode spécifiés. |
|
ReadXml(TextReader, XmlReadMode) | Lit le schéma et les données XML dans le DataSet à l'aide des System.IO.TextReader et XmlReadMode spécifiés. |
|
ReadXml(XmlReader, XmlReadMode) | Lit le schéma et les données XML dans le DataSet à l'aide des System.Xml.XmlReader et XmlReadMode spécifiés. |
|
ReadXmlSchema(Stream) | Lit le schéma XML à partir du Stream spécifié dans le DataSet. |
|
ReadXmlSchema(String) | Lit le schéma XML à partir du fichier spécifié dans le DataSet. |
|
ReadXmlSchema(TextReader) | Lit le schéma XML à partir du TextReader spécifié dans le DataSet. |
|
ReadXmlSchema(XmlReader) | Lit le schéma XML à partir du XmlReader spécifié dans le DataSet. |
|
ReadXmlSerializable | Infrastructure. Ignore les attributs et retourne un DataSet vide. |
|
RejectChanges | Restaure toutes les modifications apportées à DataSet depuis sa création ou le dernier appel à DataSet.AcceptChanges. |
|
Reset | Rétablit l'état d'origine de DataSet. Les sous-classes doivent substituer Reset pour rétablir l'état d'origine de DataSet. |
|
ShouldSerializeRelations | Obtient une valeur indiquant si la propriété Relations doit être rendue persistante. |
|
ShouldSerializeTables | Obtient une valeur indiquant si la propriété Tables doit être rendue persistante. |
|
ToString | Retourne String contenant le nom du Component, s'il existe. Cette méthode ne doit pas être substituée. (Hérité de MarshalByValueComponent.) |
|
WriteXml(Stream) | Écrit les données en cours de DataSet à l'aide du System.IO.Stream spécifié. |
|
WriteXml(String) | Écrit les données en cours de DataSet dans le fichier spécifié. |
|
WriteXml(TextWriter) | Écrit les données en cours pour DataSet à l'aide du TextWriter spécifié. |
|
WriteXml(XmlWriter) | Écrit les données en cours de DataSet dans le XmlWriter spécifié. |
|
WriteXml(Stream, XmlWriteMode) | Écrit les données en cours, et éventuellement le schéma, de DataSet à l'aide des System.IO.Stream et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. |
|
WriteXml(String, XmlWriteMode) | Écrit les données en cours, et éventuellement le schéma, pour DataSet dans le fichier spécifié à l'aide du XmlWriteMode spécifié. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. |
|
WriteXml(TextWriter, XmlWriteMode) | Écrit les données en cours, et éventuellement le schéma, pour DataSet à l'aide des TextWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. |
|
WriteXml(XmlWriter, XmlWriteMode) | Écrit les données en cours, et éventuellement le schéma, pour DataSet à l'aide des XmlWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. |
|
WriteXmlSchema(Stream) | Écrit la structure DataSet sous la forme d'un schéma XML à l'aide de l'objet System.IO.Stream spécifié. |
|
WriteXmlSchema(String) | Écrit la structure DataSet sous la forme d'un schéma XML dans un fichier. |
|
WriteXmlSchema(TextWriter) | Écrit la structure DataSet sous la forme d'un schéma XML à l'aide de l'objet TextWriter spécifié. |
|
WriteXmlSchema(XmlWriter) | Écrit la structure DataSet sous la forme d'un schéma XML dans un objet XmlWriter. |
|
WriteXmlSchema(Stream, Converter<Type, String>) | Écrit la structure DataSet sous la forme d'un schéma XML à l'aide de l'objet System.IO.Stream spécifié. |
|
WriteXmlSchema(String, Converter<Type, String>) | Écrit la structure DataSet sous la forme d'un schéma XML dans un fichier. |
|
WriteXmlSchema(TextWriter, Converter<Type, String>) | Écrit la structure de DataSet sous la forme d'un schéma XML dans le TextWriter spécifié. |
|
WriteXmlSchema(XmlWriter, Converter<Type, String>) | Écrit la structure de DataSet sous la forme d'un schéma XML dans le XmlWriter spécifié. |
| Nom | Description | |
|---|---|---|
|
Disposed | Ajoute un gestionnaire d'événements qui doit écouter l'événement Disposed pour le composant. (Hérité de MarshalByValueComponent.) |
|
Initialized | Se produit une fois que le DataSet est initialisé. |
|
MergeFailed | Se produit lorsque des DataRow cible et source possèdent la même valeur de clé primaire et que EnforceConstraints a la valeur true. |
| Nom | Description | |
|---|---|---|
|
IListSource.ContainsListCollection | Pour obtenir une description de ce membre, consultez IListSource.ContainsListCollection. |
|
IListSource.GetList | Pour obtenir une description de ce membre, consultez IListSource.GetList. |
|
IXmlSerializable.GetSchema | Pour obtenir une description de ce membre, consultez IXmlSerializable.GetSchema. |
|
IXmlSerializable.ReadXml | Pour obtenir une description de ce membre, consultez IXmlSerializable.ReadXml. |
|
IXmlSerializable.WriteXml | Pour obtenir une description de ce membre, consultez IXmlSerializable.WriteXml. |
DataSet , qui est un cache en mémoire des données récupérées d'une source de données, est un composant important de l'architecture ADO.NET. DataSet est constitué d'une collection d'objets DataTable que vous pouvez lier entre eux à l'aide d'objets DataRelation. Vous pouvez également appliquer l'intégrité des données dans le DataSet à l'aide des objets UniqueConstraint et ForeignKeyConstraint. Pour plus d'informations sur l'utilisation d'objets DataSet, consultez Objets DataSet, DataTable et DataView (ADO.NET).
Tandis que les objets DataTable contiennent les données, DataRelationCollection vous permet de naviguer au sein de la hiérarchie des tables. Les tables sont contenues dans un DataTableCollection accessible à l'aide de la propriété Tables. Lorsque vous accédez à des objets DataTable, remarquez qu'ils respectent la casse dans certaines conditions. Par exemple, si DataTable est appelé "mydatatable" et un autre "Mydatatable", une chaîne utilisée pour rechercher une des deux tables est considérée comme respectant la casse. Cependant, si "mydatatable" existe, mais pas "Mydatatable", la chaîne recherchée est considérée comme ne respectant pas la casse. Pour plus d'informations sur l'utilisation d'objets DataTable, consultez Création d'un DataTable (ADO.NET).
DataSet peut lire et écrire les données et le schéma en tant que documents XML. Les données et le schéma peuvent ensuite être transportés au moyen de HTTP et utilisés par n'importe quelle application, sur toute plateforme compatible XML. Vous pouvez enregistrer le schéma en tant que schéma XML à l'aide de la méthode WriteXmlSchema. Il est également possible d'enregistrer le schéma et les données à l'aide de la méthode WriteXml. Pour lire un document XML comprenant à la fois un schéma et des données, utilisez la méthode ReadXml.
Lors d'une implémentation à plusieurs couches standard, la procédure de création et d'actualisation de DataSet, puis de mise à jour des données d'origine consiste à :
-
générer et remplir chaque DataTable de DataSet avec des données provenant d'une source de données à l'aide de DataAdapter ;
-
modifier les données dans les objets DataTable en ajoutant, mettant à jour ou supprimant des objets DataRow ;
-
appeler la méthode GetChanges pour créer un deuxième DataSet qui représente uniquement les modifications apportées aux données ;
-
appeler la méthode Update de DataAdapter, en passant le deuxième DataSet comme argument.
-
Appelez la méthode Merge pour fusionner les modifications du deuxième DataSet dans le premier.
-
Appelez AcceptChanges sur DataSet. Vous pouvez également appeler RejectChanges pour annuler les modifications.
Remarque
|
|---|
|
Les objets DataSet et DataTable héritent de MarshalByValueComponent et prennent en charge l'interface ISerializable pour la communication à distance. Il s'agit uniquement d'objets ADO.NET qui peuvent être distants. |
Remarque
|
|---|
|
Les classes héritées de DataSet ne sont pas finalisées par le garbage collector, car le finaliseur a été supprimé dans DataSet. La classe dérivée peut appeler la méthode ReRegisterForFinalize dans son constructeur pour permettre à la classe d'être finalisée par le garbage collector. |
L'exemple suivant est constitué de plusieurs méthodes qui, une fois combinées, créent et remplissent un DataSet à partir de la base de données Northwind.
Option Explicit On Option Strict On Imports System.Data Imports system.Data.SqlClient Public Class NorthwindDataSet Public Shared Sub Main() Dim connectionString As String = _ GetConnectionString() ConnectToData(connectionString) End Sub Private Shared Sub ConnectToData( _ ByVal connectionString As String) ' Create a SqlConnection to the Northwind database. Using connection As SqlConnection = New SqlConnection( _ connectionString) ' Create a SqlDataAdapter for the Suppliers table. Dim suppliersAdapter As SqlDataAdapter = _ New SqlDataAdapter() ' A table mapping names the DataTable. suppliersAdapter.TableMappings.Add("Table", "Suppliers") ' Open the connection. connection.Open() Console.WriteLine("The SqlConnection is open.") ' Create a SqlCommand to retrieve Suppliers data. Dim suppliersCommand As SqlCommand = New SqlCommand( _ "SELECT SupplierID, CompanyName FROM dbo.Suppliers;", _ connection) suppliersCommand.CommandType = CommandType.Text ' Set the SqlDataAdapter's SelectCommand. suppliersAdapter.SelectCommand = suppliersCommand ' Fill the DataSet. Dim dataSet As DataSet = New DataSet("Suppliers") suppliersAdapter.Fill(dataSet) ' Create a second SqlDataAdapter and SqlCommand to get ' the Products table, a child table of Suppliers. Dim productsAdapter As SqlDataAdapter = _ New SqlDataAdapter() productsAdapter.TableMappings.Add("Table", "Products") Dim productsCommand As SqlCommand = New SqlCommand( _ "SELECT ProductID, SupplierID FROM dbo.Products;", _ connection) productsAdapter.SelectCommand = productsCommand ' Fill the DataSet. productsAdapter.Fill(dataSet) ' Close the connection. connection.Close() Console.WriteLine("The SqlConnection is closed.") ' Create a DataRelation to link the two tables ' based on the SupplierID. Dim parentColumn As DataColumn = _ dataSet.Tables("Suppliers").Columns("SupplierID") Dim childColumn As DataColumn = _ dataSet.Tables("Products").Columns("SupplierID") Dim relation As DataRelation = New _ System.Data.DataRelation("SuppliersProducts", _ parentColumn, childColumn) dataSet.Relations.Add(relation) Console.WriteLine( _ "The {0} DataRelation has been created.", _ relation.RelationName) End Using End Sub Private Shared Function GetConnectionString() As String ' To avoid storing the connection string in your code, ' you can retrieve it from a configuration file. Return "Data Source=(local);Initial Catalog=Northwind;" _ & "Integrated Security=SSPI;" End Function End Class
using System; using System.Data; using System.Data.SqlClient; namespace Microsoft.AdoNet.DataSetDemo { class NorthwindDataSet { static void Main() { string connectionString = GetConnectionString(); ConnectToData(connectionString); } private static void ConnectToData(string connectionString) { //Create a SqlConnection to the Northwind database. using (SqlConnection connection = new SqlConnection(connectionString)) { //Create a SqlDataAdapter for the Suppliers table. SqlDataAdapter adapter = new SqlDataAdapter(); // A table mapping names the DataTable. adapter.TableMappings.Add("Table", "Suppliers"); // Open the connection. connection.Open(); Console.WriteLine("The SqlConnection is open."); // Create a SqlCommand to retrieve Suppliers data. SqlCommand command = new SqlCommand( "SELECT SupplierID, CompanyName FROM dbo.Suppliers;", connection); command.CommandType = CommandType.Text; // Set the SqlDataAdapter's SelectCommand. adapter.SelectCommand = command; // Fill the DataSet. DataSet dataSet = new DataSet("Suppliers"); adapter.Fill(dataSet); // Create a second Adapter and Command to get // the Products table, a child table of Suppliers. SqlDataAdapter productsAdapter = new SqlDataAdapter(); productsAdapter.TableMappings.Add("Table", "Products"); SqlCommand productsCommand = new SqlCommand( "SELECT ProductID, SupplierID FROM dbo.Products;", connection); productsAdapter.SelectCommand = productsCommand; // Fill the DataSet. productsAdapter.Fill(dataSet); // Close the connection. connection.Close(); Console.WriteLine("The SqlConnection is closed."); // Create a DataRelation to link the two tables // based on the SupplierID. DataColumn parentColumn = dataSet.Tables["Suppliers"].Columns["SupplierID"]; DataColumn childColumn = dataSet.Tables["Products"].Columns["SupplierID"]; DataRelation relation = new System.Data.DataRelation("SuppliersProducts", parentColumn, childColumn); dataSet.Relations.Add(relation); Console.WriteLine( "The {0} DataRelation has been created.", relation.RelationName); } } static private string GetConnectionString() { // To avoid storing the connection string in your code, // you can retrieve it from a configuration file. return "Data Source=(local);Initial Catalog=Northwind;" + "Integrated Security=SSPI"; } } }
.NET Framework
Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Pris en charge dans : 4, 3.5 SP1Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Ce type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser les opérations d'écriture.
Remarque