Nouveautés de .NET Framework version 3.5

Mise à jour : novembre 2007

Cette rubrique contient des informations sur les nouveautés et sur les améliorations des fonctionnalités du .NET Framework version 3.5. 

.NET Compact Framework

Le .NET Compact Framework version 3.5 étend la prise en charge des applications mobiles distribuées en incluant la technologie Windows Communication Foundation (WCF). Il ajoute également de nouvelles fonctionnalités de langage selon les commentaires de la communauté, par exemple de nouvelles API et LINQ, et améliore le débogage avec des outils et des fonctionnalités de diagnostic mis à jour.

Pour plus d'informations sur ces fonctionnalités et améliorations, consultez Nouveautés de .NET Compact Framework version 3.5.

ASP.NET

Le .NET Framework 3.5 inclut des améliorations dans certains domaines ciblés de ASP.NET et Visual Web Developer. L'avancée la plus significative est une prise en charge plus performante du développement de sites Web AJAX. ASP.NET prend en charge le développement AJAX centré sur le serveur avec un ensemble de nouveaux contrôles serveur et d'API. Vous pouvez activer une page ASP.NET 2.0 existante pour AJAX en ajoutant un contrôle ScriptManager et un contrôle UpdatePanel afin que la page puisse être mise à jour sans actualisation de la page entière.

ASP.NET prend également en charge le développement AJAX centré sur le client avec une nouvelle bibliothèque cliente appelée Microsoft AJAX Library. Microsoft AJAX Library prend en charge le développement centré sur le client, orienté objet et indépendant du navigateur. En utilisant les classes de la bibliothèque dans votre ECMAScript (JavaScript), vous pouvez activer des comportements d'interface utilisateur riches sans faire d'allers-retours vers le serveur. Vous pouvez combiner le degré de développement centré sur le serveur et sur le client pour satisfaire les besoins de votre application. En outre, Visual Web Developer inclut une prise en charge IntelliSense plus performante de JavaScript et une prise en charge de Microsoft AJAX Library.

ASP.NET et Visual Web Developer prennent désormais en charge la création de services Web ASMX et WCF et l'utilisation transparente d'une implémentation depuis des pages Web à l'aide de Microsoft AJAX Library. En outre, les services d'application côté serveur, notamment l'authentification par formulaire, la gestion des rôles et les profils, sont désormais exposés en tant que services Web pouvant être utilisés dans des applications compatibles WCF, script client et clients Window Forms inclus. ASP.NET permet à toutes les applications Web de partager ces services d'application courants.

Parmi les autres améliorations de ASP.NET figurent : un nouveau contrôle de données, ListView, pour l'affichage des données ; un nouveau contrôle de source de données, LinqDataSource, qui expose LINQ (Language-Integrated Query) aux développeurs Web via l'architecture de contrôle de source de données ASP.NET ; un nouvel outil, ASP.NET Merge Tool, outil (Aspnet_merge.exe), pour la fusion d'assemblys précompilés ; une intégration parfaite avec IIS 7.0. Le contrôle ListView est personnalisable (à l'aide de modèles et de styles) et prend également en charge les opérations de modification, d'insertion et de suppression, ainsi que les fonctionnalités de tri et de pagination. La fonctionnalité de pagination de ListView est fournie par un nouveau contrôle appelé DataPager. Vous pouvez utiliser l'outil de fusion pour combiner des assemblys afin de prendre en charge des scénarios de déploiement et de gestion des versions. L'intégration d'ASP.NET et de IIS 7.0 inclut la capacité à utiliser les services ASP.NET, tels que l'authentification et la mise en cache, pour tout type de contenu. Elle inclut également la capacité à développer les modules du pipeline de serveur en code managé ASP.NET et prend en charge la configuration unifiée de modules et de gestionnaires.

Parmi les autres améliorations de Visual Web Developer figurent la prise en charge du multi-ciblage, l'inclusion de projets d'application Web, un nouveau mode Design, de nouveaux outils de conception CSS et la prise en charge de LINQ pour les bases de données SQL. Le multi-ciblage vous permet d'utiliser Visual Web Developer pour cibler le développement d'applications Web aux versions spécifiques du .NET Framework, y compris aux versions 2.0, 3.0 et 3.5.

Pour plus d'informations, consultez Nouveautés dans ASP.NET et le développement Web.

Compléments et extensibilité

L'assembly System.AddIn.dll du .NET Framework 3.5 fournit une prise en charge puissante et flexible aux développeurs d'applications extensibles. Il présente une nouvelle architecture et un nouveau modèle qui permettent, en premier lieu, aux développeurs de rendre une application plus extensible, tout en s'assurant que leurs extensions continuent de fonctionner lors de la modification de l'application hôte. Le modèle fournit les fonctionnalités suivantes :

  • Détection

    Avec la classe AddInStore, vous pouvez facilement rechercher et gérer des jeux de compléments dans plusieurs emplacements d'un ordinateur. Vous pouvez utiliser cette classe pour rechercher et obtenir des informations sur les compléments, par leurs types de base, sans les charger.

  • Activation

    Une fois que l'application a choisi un complément, la classe AddInToken facilite son activation. Il vous suffit de choisir le niveau d'isolement et de sandboxing, puis le système s'occupe du reste.

  • Isolation

    Il existe une prise en charge intégrée pour les domaines d'application et l'isolation du processus des compléments. Le niveau d'isolement de chaque complément est sous le contrôle de l'hôte. Le système gère le chargement des processus et des domaines d'application et les ferme une fois que leurs compléments ne s'exécutent plus.

  • Sandboxing

    Vous pouvez facilement configurer des compléments avec un niveau de confiance par défaut ou personnalisé. La prise en charge inclut Internet, l'intranet, la confiance totale et les jeux d'autorisations « identiques à l'hôte », ainsi que des surcharges qui permettent à l'hôte de spécifier un jeu d'autorisations personnalisé.

  • Composition de l'interface utilisateur

    Le modèle de complément prend en charge la composition directe des contrôles Windows Presentation Foundation (WPF) qui couvrent les limites du domaine d'application. Vous pouvez facilement permettre aux compléments de contribuer directement à l'interface utilisateur de l'hôte, tout en conservant les avantages de l'isolation, de la capacité à décharger, du sandboxing et du versioning.

  • Versioning

    L'architecture des compléments permet aux hôtes d'introduire de nouvelles versions de leur modèle objet sans endommager les compléments existants ou affecter la tâche des développeurs.

Pour plus d'informations, consultez Compléments et extensibilité.

Common Language Runtime

Collections

HashSet<T> fournit des opérations ensemblistes performantes au .NET Framework. Un ensemble est une collection qui ne contient pas d'éléments en double et dont les éléments ne possèdent pas d'ordre particulier. Pour plus d'informations, consultez HashSet, type collection.

Diagnostics

La classe EventSchemaTraceListener fournit le traçage d'événements conformes au schéma de bout en bout. Vous pouvez utiliser le traçage de bout en bout pour un système dont les composants hétérogènes traversent les limites du thread, du AppDomain, du processus et de l'ordinateur. Un schéma d'événement standardisé (consultez Event Representation for Event Consumers) a été défini pour activer le traçage à travers ces limites. Ce schéma est partagé par plusieurs technologies de traçage, y compris les outils de diagnostic Windows Vista tels que l'Observateur d'événements. Le schéma active également l'addition d'éléments personnalisés conformes au schéma.

La classe EventSchemaTraceListener est réglée pour enregistrer la performance avec assistance implicite pour traçage sans verrouillage.

E/S et canaux

Les canaux permettent une communication entre tous les processus s'exécutant sur le même ordinateur ou sur n'importe quel autre ordinateur Windows d'un réseau. Le .NET Framework fournit un accès à deux types de canaux : les canaux anonymes et les canaux nommés. Pour plus d'informations sur les canaux, consultez Canaux.

Garbage collection

La classe GCSettings est dotée d'une nouvelle propriété LatencyMode que vous pouvez utiliser pour ajuster l'heure à laquelle le garbage collector fait intrusion dans votre application. Vous pouvez affecter à cette propriété l'une des valeurs de la nouvelle énumération GCLatencyMode.

La classe GC est dotée d'une nouvelle surcharge de méthode Collect(Int32, GCCollectionMode) que vous pouvez utiliser pour ajuster le comportement d'un garbage collection forcé. Par exemple, vous pouvez utiliser cette surcharge pour spécifier que le garbage collector doit déterminer si l'heure actuelle est optimale pour récupérer des objets. La valeur de cette surcharge est obtenue à partir de la nouvelle énumération GCCollectionMode.

Réflexion et émission de réflexion en confiance partielle

Les assemblys qui s'exécutent en confiance partielle peuvent désormais émettre du code et l'exécuter. Le code émis qui n'appelle que des types publics et des méthodes n'a besoin d'aucune autorisation au-delà des autorisations demandées par les types et les méthodes accessibles. Le nouveau constructeur DynamicMethod(String, Type, array<Type[]) facilite l'émission d'un tel code.

Lorsque le code émis doit accéder à des données privées, le nouveau constructeur DynamicMethod(String, Type, array<Type[], Boolean) autorise un accès limité. L'hôte doit accorder ReflectionPermission avec le nouvel indicateur RestrictedMemberAccess pour activer cette fonctionnalité, ce qui permet au code émis d'accéder aux données privées uniquement pour les types et les méthodes des assemblys avec des niveaux de confiance égaux ou inférieurs. Consultez Procédure pas à pas : émission de code dans des scénarios de confiance partielle.

Pour la réflexion, le RestrictedMemberAccess accordé par un hôte autorise de la même façon l'utilisation limitée de méthodes qui permettent d'accéder à des propriétés privées, d'appeler des méthodes privées, etc., mais uniquement pour les assemblys cibles avec des niveaux de confiance égaux ou inférieurs.

Threads

Meilleur verrou de lecteur/writer

La nouvelle classe ReaderWriterLockSlim fournit de meilleures performances que ReaderWriterLock et comparables à l'instruction lock (SyncLock dans Visual Basic). Les transitions entre états de verrouillage ont été simplifiées pour faciliter la programmation et éviter les blocages. La nouvelle classe prend en charge la récursivité pour simplifier la migration à partir de lock et de ReaderWriterLock.

Améliorations des performances ThreadPool

Le débit de la répartition des éléments de travail et des tâches d'E/S du pool de threads managé est considérablement amélioré. La répartition est désormais gérée dans le code managé, sans transitions vers le code non managé et avec moins de verrous. L'utilisation de ThreadPool est recommandée sur des implémentations de pool de threads spécifiques à l'application.

Améliorations du fuseau horaire

Deux nouveaux types, DateTimeOffset et TimeZoneInfo, améliorent la prise en charge des fuseaux horaires et facilitent le développement des applications qui fonctionnent avec des dates et des heures dans différents fuseaux horaires. Pour en savoir plus sur le type à utiliser dans une situation précise, consultez Choix entre DateTime, DateTimeOffset et TimeZoneInfo.

TimeZoneInfo

La nouvelle classe TimeZoneInfo supplante largement la classe TimeZone existante. Vous pouvez utiliser TimeZoneInfo pour récupérer n'importe quel fuseau horaire défini dans le Registre, au lieu du fuseau horaire local et du temps universel coordonné (UTC, Coordinated Universal Time). Vous pouvez également utiliser cette classe pour définir des fuseaux horaires personnalisés, pour sérialiser et désérialiser des données de fuseau horaire personnalisées et pour convertir des heures entre différents fuseaux horaires. Pour plus d'informations sur le développement des applications qui utilisent la classe TimeZoneInfo, consultez Heures et fuseaux horaires.

DateTimeOffset

La nouvelle structure DateTimeOffset étend la structure DateTime pour faciliter l'utilisation des heures à travers les fuseaux horaires. La structure DateTimeOffset stocke des informations sur une date et une heure, par exemple une date et une heure UTC, ainsi qu'une valeur de décalage qui indique la différence entre l'heure locale et l'heure UTC.

Chiffrement

Manifestes ClickOnce

Il existe de nouvelles classes de chiffrement pour vérifier et obtenir des informations sur les signatures de manifeste des applications ClickOnce. La classe ManifestSignatureInformation obtient des informations sur une signature de manifeste lorsque vous utilisez ses surcharges de méthode VerifySignature. Vous pouvez utiliser l'énumération ManifestKinds pour spécifier les manifestes à vérifier. Le résultat de la vérification correspond à l'une des valeurs d'énumération SignatureVerificationResult. ManifestSignatureInformationCollection fournit une collection en lecture seule d'objets ManifestSignatureInformation appartenant aux signatures vérifiées. De plus, les classes suivantes fournissent des informations de signature spécifiques :

Prise en charge de Suite B

Le .NET Framework 3.5 prend en charge le jeu d'algorithmes de chiffrement Suite B publié par la NSA (National Security Agency). Pour obtenir la documentation de la NSA, consultez www.nsa.gov/ia/industry/crypto_suite_b.cfm.

Les algorithmes suivants sont inclus :

  • Advanced Encryption Standard (AES) avec des tailles de clé de 128 et 256 bits pour le chiffrement.

  • Secure Hash Algorithm (SHA-256 et SHA-384) pour le hachage.

  • Elliptic Curve Digital Signature Algorithm (ECDSA) utilisant les courbes des premiers modules 256 et 384 bits pour la signature. Cet algorithme est fourni par la classe ECDsaCng. Il vous permet de signer avec une clé privée et d'effectuer la vérification avec une clé publique.

  • Elliptic Curve Diffie-Hellman (ECDH) utilisant les courbes des premiers modules 256 et 384 bits pour l'échange de clé et l'accord secret. Cet algorithme est fourni par la classe ECDiffieHellmanCng.

Les wrappers de code managé pour les implémentations certifiées FIPS (Federal Information Processing Standard) des implémentations AES, SHA-256 et SHA-384 sont disponibles dans les nouvelles classes AesCryptoServiceProvider, SHA256CryptoServiceProvider et SHA384CryptoServiceProvider.

Les classes CNG (Cryptography Next Generation) fournissent une implémentation managée de l'API de chiffrement (Cryptographic API, CAPI) native. La classe du conteneur de clé CngKey est le point central de ce groupe ; elle isole le stockage et l'utilisation des clés CNG. Cette classe vous permet de stocker une paire de clés ou une clé publique en toute sécurité et d'y faire référence avec un simple nom de chaîne. Les classes ECDsaCng et ECDiffieHellmanCng utilisent des objets CngKey.

La classe CngKey est utilisée pour diverses opérations supplémentaires, notamment l'ouverture, la création, la suppression et l'exportation de clés. Elle fournit également un accès au handle de clé sous-jacent à utiliser pour appeler des API natives directement.

Plusieurs classes CNG sont prises en charge, par exemple CngProvider, qui gère un fournisseur de stockage de clés, CngAlgorithm, qui gère un algorithme CNG, et CngProperty, qui gère les propriétés de clé les plus utilisées.

Réseau

Réseau pair à pair

Le réseau pair à pair est une technologie réseau sans serveur qui permet à plusieurs périphériques réseau de partager des ressources et de communiquer directement entre eux. L'espace de noms System.Net.PeerToPeer fournit un jeu de classes prenant en charge le protocole PNRP (Peer Name Resolution Protocol), qui permet de découvrir d'autres nœuds homologues via des objets PeerName enregistrés dans un nuage pair à pair. Le protocole PNRP peut résoudre des noms d'homologue en adresses IP IPv6 ou IPv4.

Collaboration à l'aide du réseau pair à pair

L'espace de noms System.Net.PeerToPeer.Collaboration fournit un jeu de classes prenant en charge la collaboration à l'aide de l'infrastructure du réseau pair à pair. Ces classes simplifient le processus par lequel les applications peuvent :

  • Suivre la présence d'un homologue sans serveur.

  • Envoyer des invitations aux participants.

  • Découvrir des homologues sur le même sous-réseau ou réseau local (LAN).

  • Gérer des contacts.

  • Interagir avec les homologues.

L'infrastructure de collaboration pair à pair de Microsoft fournit une infrastructure basée sur le réseau pair à pair pour des activités de collaboration sans serveur. L'utilisation de cette infrastructure active les applications décentralisées du réseau qui utilisent la puissance collective des ordinateurs sur un sous-réseau ou sur Internet. Ces types d'applications peuvent être utilisés pour des activités telles que la planification collaborative, la communication, la distribution de contenu ou les jeux multijoueurs.

Améliorations des performances de Socket

La classe Socket a été améliorée afin d'être exploitée par les applications qui utilisent les E/S réseau asynchrones pour obtenir les performances les plus élevées. Une série de nouvelles classes a été ajoutée dans le cadre d'un ensemble d'améliorations apportées à l'espace de noms Socket. Ces classes fournissent un autre modèle asynchrone pouvant être utilisé par les applications de socket hautes performances spécialisées. Ces améliorations ont été spécialement conçues pour les applications serveur réseau qui requièrent un niveau de performances élevé.

Windows Communication Foundation

Intégration WF et WCF — Workflow Services

Le .NET Framework 3.5 unifie les infrastructures Windows Workflow Foundation (WF) et Windows Communication Foundation (WCF) afin que vous puissiez utiliser WF pour créer des services WCF ou exposer votre flux de travail WF existant en tant que service. Cela vous permet de créer des services pouvant être persistants, pouvant transférer facilement des données à l'intérieur et à l'extérieur d'un flux de travail et pouvant appliquer des protocoles au niveau de l'application. Pour plus d'informations, consultez Création de services de workflow et de services fiables. Pour obtenir des exemples de code, consultez Exemples de services de workflow.

Services durables

Le .NET Framework 3.5 introduit également une prise en charge des services WCF qui utilisent le modèle de persistance WF pour conserver les informations d'état du service. Ces services durables conservent leurs informations d'état sur la couche d'application ; ainsi, si une session est détruite et recréée ultérieurement, les informations d'état de ce service peuvent être rechargées à partir du magasin de persistance. Pour plus d'informations, consultez Création de services de workflow et de services fiables. Pour obtenir un exemple de code, consultez Durable Service, exemple.

Modèle de programmation Web WCF

Le modèle de programmation Web WCF permet aux développeurs de générer des services de style Web avec WCF. Le modèle de programmation Web inclut une fonctionnalité de traitement des URI riche, une prise en charge de tous les verbes HTTP, y compris GET, et un modèle de programmation simple pour l'utilisation de divers formats de messages (y compris XML, JSON et les flux binaires opaques). Pour plus d'informations, consultez Modèle de programmation Web. Pour obtenir des exemples de code, consultez Exemples du modèle de programmation Web.

Syndication WCF

WCF inclut désormais un modèle objet fortement typé pour le traitement des flux de syndication, y compris pour les formats Atom 1.0 et RSS 2.0. Pour plus d'informations, consultez Syndication WCF. Pour obtenir des exemples de code, consultez Exemples de syndication.

WCF et confiance partielle

Dans le .NET Framework 3.5, les applications qui s'exécutent avec des autorisations réduites peuvent utiliser un sous-ensemble limité de fonctionnalités WCF. Les applications serveur qui s'exécutent avec des autorisations ASP.NET avec un niveau de confiance moyen peuvent utiliser le modèle de service WCF pour créer des services HTTP de base. Les applications clientes qui s'exécutent avec des autorisations de la zone Internet (telles que les applications du navigateur XAML ou les applications non signées déployées avec ClickOnce) peuvent utiliser les proxys WCF pour profiter des services HTTP. De plus, les fonctionnalités du modèle de programmation Web WCF (y compris AJAX et Syndication) sont disponibles pour une utilisation par des applications avec un niveau de confiance partiel. Pour plus d'informations, consultez Confiance partielle. Pour obtenir des exemples de code, consultez Exemples pour la confiance partielle WCF.

Intégration ASP.NET AJAX et WCF

L'intégration de WCF avec les fonctionnalités JavaScript et XML asynchrones (AJAX) dans ASP.NET fournit un modèle de programmation de bout en bout pour la génération des applications Web qui peuvent utiliser les services WCF. Dans les applications Web de style AJAX, le client (par exemple, le navigateur d'une application Web) échange des petites quantités de données avec le serveur à l'aide de demandes asynchrones. L'intégration avec les fonctionnalités AJAX dans ASP.NET permet de générer facilement des services Web WCF accessibles à l'aide du JavaScript client du navigateur. Pour plus d'informations, consultez Intégration d'AJAX et prise en charge de JSON. Pour obtenir des exemples de code, consultez Exemples AJAX.

Interopérabilité des services Web

Dans le .NET Framework 3.5, Microsoft maintient son engagement envers l'interopérabilité et les standards publics et introduit une prise en charge des nouveaux standards des services Web, sécurisés, fiables et traités :

L'implémentation de ces protocoles est mise à disposition à l'aide des nouvelles liaisons standard, <ws2007HttpBinding> et <ws2007FederationHttpBinding>, documentées dans le Guide de l'interopérabilité des protocoles de services Web. Pour obtenir un exemple de code, consultez Exemples de liaisons WS.

Windows Presentation Foundation

Dans le .NET Framework 3.5, Windows Presentation Foundation contient des modifications et des améliorations dans de nombreux domaines, y compris le versioning, le modèle d'application, la liaison de données, les contrôles, les documents, les annotations et les éléments d'interface utilisateur 3D.

Pour plus d'informations sur ces fonctionnalités et améliorations, consultez Nouveautés de Windows Presentation Foundation version 3.5.

Windows Workflow Foundation

Intégration WF et WCF — Workflow Services

Le .NET Framework 3.5 unifie les infrastructures Windows Workflow Foundation (WF) et Windows Communication Foundation (WCF) afin que vous puissiez utiliser WF pour créer des services WCF ou exposer votre flux de travail WF existant en tant que service. Cela vous permet de créer des services pouvant être persistants, pouvant transférer facilement des données à l'intérieur et à l'extérieur d'un flux de travail et pouvant appliquer des protocoles au niveau de l'application. Pour plus d'informations, consultez Création de services de workflow et de services fiables. Pour obtenir des exemples de code, consultez Exemples de services de workflow (WF).

Règles

Le moteur de règles WF prend désormais en charge les méthodes d'extension, la surcharge d'opérateur et l'utilisation du nouvel opérateur dans vos règles. Pour plus d'informations, consultez Modifications au niveau des règles dans le .NET Framework 3.5. Pour obtenir des exemples de code, consultez Exemples de règles et conditions.

Windows Forms

Améliorations de la fonctionnalité ClickOnce

ClickOnce a subi plusieurs améliorations. Ces améliorations incluent le déploiement à partir de plusieurs emplacements et la personnalisation par un tiers. Pour plus d'informations, consultez Déploiement d'applications ClickOnce sans nouvelle signature et Création d'applications ClickOnce destinées à être déployées par des tiers.

L'outil Mage.exe, parfois utilisé avec ClickOnce, a été mis à jour pour le .NET Framework 3.5. Pour plus d'informations, consultez Outil Manifest Generation and Editing (Mage.exe).

Authentification, rôles et paramètres

Les services d'application cliente sont une nouvelle fonction dans le .NET Framework 3.5 ; ils activent des applications Windows (y compris des applications Windows Forms et Windows Presentation Foundation) pour faciliter l'accès aux services de connexion, de rôle et de profil ASP.NET. Ces services vous permettent d'authentifier les utilisateurs et de récupérer des rôles d'utilisateur et des paramètres d'application à partir d'un serveur partagé.

Vous pouvez activer des services d'application cliente en spécifiant et en configurant des fournisseurs de services clients dans le fichier de configuration de votre application ou dans le Concepteur de projets Visual Studio. Ces fournisseurs se connectent au modèle d'extensibilité du Web et vous permettent d'accéder aux services Web via la connexion .NET Framework existante, les rôles et l'API de paramètres. Les services d'applications clientes prennent également en charge la connectivité occasionnelle en stockant et récupérant des informations utilisateur d'un cache de données local lorsque l'application est hors connexion.

Pour plus d'informations, consultez Services d'application cliente.

Prise en charge Windows Vista

Les applications Windows Forms existantes fonctionnent de façon transparente sur Windows Vista et sont mises à niveau pour avoir la même apparence que les applications écrites spécifiquement pour Windows Vista, dans la mesure du possible. Les boîtes de dialogue Fichier commun sont mises à jour automatiquement pour la version Windows Vista. Le .NET Framework 3.5 prend également en charge l'icône de bouclier du Contrôle de compte d'utilisateur (UAC). Pour plus d'informations, consultez FileDialog, classe et Shield.

Prise en charge WPF

Vous pouvez utiliser Windows Forms pour héberger des contrôles et du contenu Windows Presentation Foundation (WPF) en plus des contrôles Windows Forms. Vous pouvez également ouvrir des fenêtres WPF à partir de Windows Form. Pour plus d'informations sur la manière d'utiliser simultanément Windows Forms et WPF, consultez Migration et interopérabilité.

LINQ

LINQ (Language Integrated Query) est une nouvelle fonctionnalité de Visual Studio 2008 et du .NET Framework 3.5. LINQ étend des fonctions de requête puissantes dans la syntaxe de langage de C# et Visual Basic, sous la forme de modèles de requête standard et facilement assimilables. Cette technologie peut être étendue pour prendre en charge potentiellement tout type de magasin de données. Le .NET Framework 3.5 inclut des assemblys de fournisseur LINQ qui vous permettent d'utiliser LINQ pour interroger des collections .NET Framework, des bases de données SQL Server, des groupes de données ADO.NET et des documents XML.

Les composants de LINQ faisant partie du .NET Framework 3.5 sont :

  • L'espace de noms System.Linq, qui contient l'ensemble des opérateurs de requête standard, les types et les interfaces utilisés dans l'infrastructure d'une requête LINQ. Cet espace de noms se trouve dans l'assembly System.Core.dll.

  • L'espace de noms System.Data.Linq, qui contient des classes prenant en charge l'interaction avec les bases de données relationnelles dans les applications LINQ to SQL.

  • L'espace de noms System.Data.Linq.Mapping, qui contient des classes pouvant être utilisées pour générer un modèle objet LINQ to SQL qui représente la structure et le contenu d'une base de données relationnelle.

  • L'espace de noms System.Xml.Linq, qui contient les classes pour LINQ to XML. LINQ to XML est une interface de programmation XML en mémoire qui vous permet de modifier facilement et efficacement des documents XML. À l'aide de LINQ to XML, vous pouvez charger, sérialiser et créer entièrement des arborescences XML, manipuler des arborescences XML en mémoire et les valider à l'aide du langage XSD. Vous pouvez également utiliser une combinaison de ces fonctionnalités pour transformer des arborescences XML d'une forme en une autre.

  • Nouveaux types des espaces de noms System.Web.UI.WebControls et System.Web.UI.Design.WebControls. Ces nouveaux types, tels que LinqDataSource, prennent en charge l'utilisation de LINQ dans les pages Web ASP.NET via un contrôle de source de données.

  • Les classes DataRowComparer, DataRowExtensions et DataTableExtensions de l'espace de noms System.Data prennent en charge les requêtes LINQ sur des objets DataSet ADO.NET.

Dans la bibliothèque de classes, les méthodes d'extension LINQ qui s'appliquent à une classe sont répertoriées dans la page Membres de la classe, dans les volets Contenu et Index.

Arborescences d'expression

Les arborescences d'expression sont une nouvelle fonctionnalité du .NET Framework 3.5 et permettent de représenter le code de niveau langage sous forme de données. L'espace de noms System.Linq.Expressions contient les types correspondant aux blocs de construction des arborescences d'expression. Ces types peuvent être utilisés pour représenter différents types d'expressions de code, par exemple un appel de méthode ou une comparaison d'égalité.

Les arborescences d'expression sont très utilisées dans les requêtes LINQ qui ciblent les sources de données distantes telles qu'une base de données SQL. Ces requêtes sont représentées en tant qu'arborescences d'expression et cette représentation permet aux fournisseurs de requêtes de les examiner et de les convertir en un langage de requête spécifique au domaine.

L'espace de noms System.Linq.Expressions se trouve dans l'assembly System.Core.dll.

Langages de programmation

Trois langages de programmation Microsoft ciblent explicitement le .NET Framework. Pour plus d'informations sur les fonctionnalités nouvelles et améliorées dans ces langages, consultez les rubriques suivantes :

Nouveautés de Visual C#

Nouveautés de Visual C++ 2008

Nouveautés du langage Visual Basic

Voir aussi

Concepts

Nouveautés dans ASP.NET et le développement Web

Nouveautés de .NET Compact Framework version 3.5

Nouveautés de Windows Presentation Foundation version 3.5

Nouveautés de Visual Studio 2008