Usar un servicio de datos en una aplicación cliente (WCF Data Services)
Podrá tener acceso a un servicio que exponga una fuente de Open Data Protocol (OData) proporcionando un URI a un explorador web. El URI proporciona la dirección de un recurso y los mensajes de solicitud se envían a estas direcciones para obtener acceso o cambiar los datos subyacentes que el recurso representa. El explorador emite un comando GET de HTTP y devuelve el recurso solicitado como una fuente de OData . Para obtener más información, vea Obtener acceso al servicio desde un explorador web (Tutorial rápido de WCF Data Services).
Aunque un explorador web puede ser útil para probar que un servicio de OData devuelve los datos esperados, normalmente el acceso a los servicios de OData de producción que le permiten crear, actualizar y eliminar datos también se realiza mediante código de aplicación o lenguajes de scripts en una página web. En este tema se proporciona información general acerca de cómo obtener acceso a las fuentes de OData desde una aplicación cliente.
Obtener acceso y cambiar datos mediante la semántica REST
OData contribuye a garantizar la interoperabilidad entre los servicios que exponen las fuentes de OData y las aplicaciones que utilizan las fuentes de OData . Las aplicaciones tienen acceso a los datos y los cambian en un servicio basado en OData enviando mensajes de solicitud de una acción HTTP concreta y con un URI que direcciona un recurso de entidad sobre el que se debería realizar la acción. Cuando sea obligatorio proporcionar datos de la entidad, se proporcionan mediante una carga específicamente codificada en el cuerpo del mensaje.
Acciones HTTP
OData admite las siguientes acciones HTTP para realizar operaciones de creación, lectura, actualización y eliminación en los datos de la entidad que el recurso direccionado representa:
GET de HTTP: es la acción predeterminada cuando se tiene acceso a un recurso desde un explorador. No se proporciona ninguna carga en el mensaje de solicitud y se devuelve un método de respuesta con una carga que contiene los datos solicitados.
POST de HTTP: inserta los nuevos datos de entidad en el recurso proporcionado. Los datos que se van a insertar se proporcionan en la carga del mensaje de solicitud. La carga del mensaje de respuesta contiene los datos de la entidad recién creada. Esto incluye los valores de clave generados automáticamente. El encabezado también contiene el URI que direcciona el nuevo recurso de entidad.
DELETE de HTTP: elimina los datos de entidad que representa el recurso especificado. En los mensajes de solicitud o respuesta no hay presente ninguna carga.
PUT de HTTP: reemplaza los datos de la entidad existentes en el recurso solicitado con nuevos datos que se proporcionan en la carga del mensaje de solicitud.
MERGE de HTTP: debido a las ineficacias a la hora de ejecutar una acción DELETE seguida de una acción INSERT en el origen de datos únicamente para cambiar los datos de entidad, OData presenta una nueva acción MERGE de HTTP. La carga del mensaje de solicitud contiene las propiedades que se deben cambiar en el recurso de entidad direccionado. Dado que MERGE de HTTP no se define en la especificación HTTP, esto puede requerir un procesamiento adicional para enrutar una solicitud MERGE de HTTP a través de servidores que no usan.
Para obtener más información, vea OData.
Formatos de carga
Para una solicitud PUT, POST o MERGE de HTTP, la carga de un mensaje de solicitud contiene los datos de entidad que el usuario envía al servicio de datos. El contenido de la carga depende del formato de datos del mensaje. Las respuestas HTTP a todas las acciones, excepto DELETE, también contienen este tipo de carga. OData admite los siguientes formatos de carga para tener acceso y cambiar los datos con el servicio:
Atom: codificación de mensajes basada en XML definida por OData como una extensión del Protocolo de publicación Atom (AtomPub) para habilitar el intercambio de datos sobre HTTP para fuentes web, podcasts, wikis y funcionalidad de Internet basada en XML. Para obtener más información, vea OData.
JSON: JavaScript Object Notation (JSON) es un formato de intercambio de datos ligero que está basado en un subconjunto del lenguaje de programación JavaScript. Para obtener más información, vea OData.
El formato de mensaje de la carga se solicita en el encabezado del mensaje de la solicitud HTTP. Para obtener más información, vea OData.
Obtener acceso y cambiar datos mediante bibliotecas cliente
WCF Data Services incluye bibliotecas cliente que permiten utilizar más fácilmente una fuente de OData en .NET Framework y las aplicaciones cliente basadas en Silverlight. Estas bibliotecas simplifican el envío y recepción de los mensajes HTTP. También traducen la carga del mensaje en objetos CLR que representan los datos de entidad. Las bibliotecas cliente representan las dos clases principales DataServiceContext y DataServiceQuery. Estas clases le permiten consultar un servicio de datos y, a continuación, trabajar con los datos de entidad devueltos como objetos CLR. Para obtener más información, vea Biblioteca de cliente de WCF Data Services y WCF Data Services (Silverlight).
Puede usar el cuadro de diálogo Agregar referencia de servicio de Visual Studio para agregar una referencia a un servicio de datos. Esta herramienta solicita metadatos de servicio desde un servicio de datos al que se ha hecho referencia y genera el DataServiceContext que representa un servicio de datos, además de generar las clases de servicio de datos cliente que representan las entidades. Para obtener más información, vea Generar la biblioteca de cliente del servicio de datos (WCF Data Services).
Existen bibliotecas de programación que le permiten utilizar una fuente de OData en otros tipos de aplicaciones cliente. Para obtener más información, vea OData.
Vea también
Conceptos
Acceso a recursos del servicio de datos (WCF. Data Services)
Tutorial rápido (WCF Data Services)