Utilisation de plusieurs versions de WCF Data Services
Protocole OData (Open Data) permet d'accéder à une source de données à distance en utilisant les protocoles Internet standard sur HTTP. Alors que de nouvelles versions d'OData sont publiées, il se peut que les applications clientes n'utilisent pas la même version d'OData que celle prise en charge par le service de données. Il se peut qu'une ancienne application cliente accède à un service de données à l'aide d'une nouvelle version d'OData , ou qu'une application cliente utilise une nouvelle version de la bibliothèque cliente Services de données WCF prenant en charge une version de OData plus récente que le flux OData qui fait l'objet de l'accès.
Services de données WCF utilise le support fourni par OData pour gérer de tels scénarios de contrôle de version. Il y a également le support pour générer et utiliser des métadonnées de modèle de données pour créer des classes de service de données client lorsque le client utilise une version d'OData différente de celle utilisée par le service de données. Pour plus d'informations, consultez OData: Protocol Versioning (en anglais).
Versions de protocole
Le service de données peut être configuré de sorte à définir la version la plus récente du protocole OData qui sera utilisée par le service, indépendamment de celle demandée par le client. Vous pouvez procéder en spécifiant une valeur DataServiceProtocolVersion pour la propriété MaxProtocolVersion du DataServiceBehavior utilisé par le service de données. Pour plus d'informations, consultez Configuration du service de données (WCF Data Services).
Lorsqu'une application utilise les bibliothèques clientes Services de données WCF pour accéder à un service de données, les bibliothèques définissent automatiquement ces en-têtes pour qu'ils aient les valeurs correctes, en fonction de la version d'OData et des fonctionnalités utilisées pour votre application. Par défaut, Services de données WCF utilise la version de protocole la plus basse prenant en charge l'opération demandée.
Le tableau suivant fournit des détails sur les versions de .NET Framework et Silverlight qui incluent la prise en charge Services de données WCF des versions spécifiques du protocole OData .
Version de protocole OData | Prise en charge depuis... |
---|---|
Version 1 |
|
Version 2 |
|
Versions de métadonnées
Par défaut, Services de données WCF utilise la version 1.1 de CSDL pour représenter un modèle de données. C'est toujours le cas pour les modèles de données basés sur un fournisseur de réflexion ou un fournisseur de services de données personnalisé. Toutefois, lorsque le modèle de données est défini à l'aide d'Entity Framework , la version de CSDL retournée est la même que celle utilisée par l'Entity Framework . La version de CSDL est indiquée par l'espece de noms de l'élément Schema. Pour plus d'informations, consultez la spécification [MC-CSDL] : Conceptual Schema Definition File Format.
L'élément DataServices des métadonnées retournées contient également un attribut DataServiceVersion, qui est la même valeur que l'en-tête DataServiceVersion du message de réponse. Les applications clientes, telles que la boîte de dialogue Ajouter une référence de service dans Visual Studio, utilisent ces informations pour générer des classes de service de données clientes qui fonctionnent correctement avec la version de Services de données WCF qui héberge le service de données. Pour plus d'informations, consultez OData: Protocol Versioning (en anglais).
Voir aussi
Concepts
Fournisseurs de services de données (WCF Data Services)