Trabajar con varias versiones de WCF Data Services

Open Data Protocol (OData) le permite tener acceso a un origen de datos de forma remota mediante protocolos de Internet estándar sobre HTTP. A medida que se lanzan nuevas versiones de OData , quizá las aplicaciones cliente no usen la misma versión de OData que admite el servicio de datos. Puede que una aplicación cliente antigua tenga acceso a un servicio de datos utilizando una versión más reciente de OData o quizá una aplicación cliente use una versión más reciente de la biblioteca de cliente de WCF Data Services que admite una versión más reciente de OData que la de la fuente de OData a la que se está obteniendo acceso.

WCF Data Services aumenta la compatibilidad que proporciona OData para administrar tales escenarios de versión. También existe soporte técnico para generar y usar metadatos del modelo de datos con el fin de crear las clases de servicio de datos de cliente cuando el cliente usa una versión distinta de OData de la que usa el servicio de datos. Para obtener más información, vea OData: Protocol Versioning.

Versiones del protocolo

El servicio de datos se puede configurar para definir la versión más alta del protocolo OData que usará el servicio, independientemente de la versión solicitada por el cliente. Para ello, especifique un valor de la enumeración DataServiceProtocolVersion para la propiedad MaxProtocolVersion de la clase DataServiceBehavior que usa el servicio de datos. Para obtener más información, vea Configurar el servicio de datos (WCF Data Services)

Cuando una aplicación usa las bibliotecas de cliente de WCF Data Services para tener acceso a un servicio de datos, las bibliotecas establecen automáticamente estos encabezados en los valores correctos, en función de la versión de OData y de las características que se usan en la aplicación. De forma predeterminada, WCF Data Services utiliza la versión de protocolo más baja que admita la operación solicitada.

En la siguiente tabla se detallan las versiones de .NET Framework y Silverlight que incluyen compatibilidad con WCF Data Services para versiones específicas del protocolo OData .

Versión del protocolo OData Compatibilidad introducida en…

Versión 1

  • .NET Framework versión 3.5 Service Pack 1 (SP1)

  • Versión 3 de Silverlight.

Versión 2

  • .NET Framework versión 4

  • Actualización a .NET Framework versión 3.5 SP1. Puede descargar e instalar la actualización desde el Centro de descarga de Microsoft.

  • Versión 4 de Silverlight.

Versiones de metadatos

De forma predeterminada, WCF Data Services usa la versión 1.1 de CSDL para representar un modelo de datos. Este siempre es el caso para los modelos de datos basados en un proveedor de reflexión o en un proveedor del servicio de datos personalizados. No obstante, cuando se define un modelo de datos mediante Entity Framework , la versión devuelta de CSDL es la misma que la que usa Entity Framework . La versión de CSDL la determina el espacio de nombres del elemento Schema. Para obtener más información, vea la especificación [MC-CSDL]: formato de archivo de definición de esquemas conceptuales.

El elemento DataServices de los metadatos devueltos también contiene un atributo DataServiceVersion, que tiene el mismo valor que el encabezado DataServiceVersion del mensaje de respuesta. Las aplicaciones cliente, como el cuadro de diálogo Agregar referencia de servicio de Visual Studio, usan esta información para generar las clases del servicio de datos de cliente que funcionen correctamente con la versión de WCF Data Services que hospede el servicio de datos. Para obtener más información, vea OData: Protocol Versioning.

Vea también

Conceptos

Proveedores de servicios de datos (WCF Data Services)

Otros recursos

Definir WCF Data Services