Desarrollar e implementar WCF Data Services
En este tema se proporciona información sobre el desarrollo y la implementación de Servicios de datos de Microsoft WCF. Para obtener información básica sobre Servicios de datos de Microsoft WCF, vea Introducción a WCF Data Services y Información general acerca de WCF Data Services.
Desarrollar el servicio de datos de WCF
Cuando use Servicios de datos de Microsoft WCF para crear un servicio de datos que admita Open Data Protocol (OData), debe realizar las siguientes tareas básicas durante el desarrollo:
Definir el modelo de datos
Servicios de datos de Microsoft WCF admite distintos proveedores de servicios de datos que le permiten definir un modelo de datos basado en los datos de diferentes orígenes de datos, desde bases de datos relacionales hasta tipos de datos enlazados en tiempo de ejecución. Para obtener más información, vea Proveedores de servicios de datos (WCF Data Services).
Crear el servicio de datos
El servicio de datos más básico expone una clase que hereda de la clase DataService<T>, con un tipo T que es el nombre completo del espacio de nombres del contenedor de la entidad. Para obtener más información, vea Servicio de datos (WCF Data Services).
Configurar el servicio de datos
De forma predeterminada, Servicios de datos de Microsoft WCF deshabilita el acceso a los recursos que expone un contenedor de entidades. La clase DataServiceConfiguration le permite configurar el acceso a los recursos y a las operaciones del servicio, especificar la versión admitida de OData, así como definir otros comportamientos de todo el servicio, como los comportamientos de los procesamientos por lotes o el número máximo de entidades que pueden devolverse en una única fuente de respuesta. Para obtener más información, vea Configurar el servicio de datos (WCF Data Services).
En este tema se describe principalmente el desarrollo y la implementación de los servicios de datos mediante el uso de Visual Studio. Para obtener información sobre la flexibilidad que proporcionan los Servicios de datos de Microsoft WCF para exponer los datos como fuentes de OData, vea Servicio de datos (WCF Data Services).
Elegir un servidor web de desarrollo
Cuando desarrolle un servicio de datos de WCF como aplicación de ASP.NET o un sitio web de ASP.NET mediante el uso de Visual Studio, dispone de una selección de servidores web en los que ejecutar el servicio de datos durante el desarrollo. Los siguientes servidores web se integran con Visual Studio para facilitar la prueba y depuración de los servicios de datos en el equipo local.
Servidor IIS local
Cuando cree un servicio de datos que sea una aplicación de ASP.NET o un sitio web de ASP.NET que se ejecute en Internet Information Services (IIS), se recomienda que desarrolle y pruebe el servicio de datos con IIS en el equipo local. Si se ejecuta el servicio de datos en IIS, se facilita el seguimiento de las solicitudes HTTP durante el proceso de depuración. De esta forma, puede predeterminar los derechos necesarios que requiere IIS para obtener acceso a los archivos, a las bases de datos y al resto de los recursos que necesita el servicio de datos. Para ejecutar el servicio de datos en IIS, debe asegurarse de que tanto IIS como Windows Communication Foundation (WCF) estén instalados y configurados correctamente, así como de conceder acceso a las cuentas de IIS en las bases de datos y en el sistema de archivos. Para obtener más información, vea Cómo: Desarrollar un servicio de datos WCF que se ejecuta en IIS.
Nota
Debe ejecutar Visual Studio con derechos de administrador para habilitar el entorno de desarrollo con el fin de configurar el servidor IIS local.
Servidor de desarrollo de Visual Studio
Visual Studio incluye un servidor web integrado, el servidor de desarrollo de Visual Studio, que es el servidor web predeterminado de los proyectos de ASP.NET. Este servidor web está diseñado para ejecutar proyectos de ASP.NET en el equipo local durante el desarrollo. El Tutorial rápido del servicio de datos de WCF muestra cómo crear un servicio de datos que se ejecute en el servidor de desarrollo de Visual Studio.
Debe tener en cuenta las siguientes limitaciones cuando use el servidor de desarrollo de Visual Studio para desarrollar el servicio de datos:
A este servidor solo se puede acceder desde el equipo local.
Este servidor escucha en localhost y en un puerto específico, no en el puerto 80, que es el puerto predeterminado para los mensajes HTTP. Para obtener más información, vea Web Servers in Visual Studio for ASP.NET Web Projects.
Este servidor ejecuta el servicio de datos en el contexto de su cuenta de usuario actual. Por ejemplo, si está ejecutando como usuario de nivel de administrador, un servicio de datos que se ejecute en el servidor de desarrollo de Visual Studio tendrá privilegios de nivel de administrador. De esta forma, el servicio de datos puede acceder a los recursos para los que no tiene derechos de acceso cuando se implementa en un servidor IIS.
Este servidor no incluye las características adicionales de IIS, como la autenticación.
Este servidor no puede administrar los flujos HTTP fragmentados, que envía de forma predeterminada el cliente de Servicios de datos de Microsoft WCF cuando se accede a los datos binarios grandes desde el servicio de datos. Para obtener más información, vea Proveedores de transmisión por secuencias (WCF Data Services).
Este servidor experimenta problemas al procesar el carácter de punto (.) en una dirección URL, aunque este carácter lo admita Servicios de datos de Microsoft WCF en valores clave.
Sugerencia
Aunque puede usar el servidor de desarrollo de Visual Studio para probar los servicios de datos durante el desarrollo, debe probarlos de nuevo después de implementarlos en un servidor web que ejecute IIS.
Entorno de desarrollo de Windows Azure
Windows Azure Tools para Visual Studio incluye un conjunto integrado de herramientas para desarrollar los servicios de Windows Azure en Visual Studio. Con estas herramientas, puede desarrollar un servicio de datos que se puede implementar en Windows Azure y que puede probar en el equipo local antes de su implementación. Use estas herramientas cuando use Visual Studio para desarrollar un servicio de datos que se ejecute en la plataforma Windows Azure. Puede descargar Windows Azure Tools para Visual Studio del Centro de descarga de Microsoft. Para obtener más información sobre el desarrollo de un servicio de datos que se ejecuta en Windows Azure, vea la entrada de blog relacionada con la implementación de un servicio de OData en Windows Azure.
Sugerencias de desarrollo
Debe plantearse lo siguiente cuando desarrolle un servicio de datos:
Determine los requisitos de seguridad del servicio de datos, si planea autenticar a los usuarios o restringir el acceso de usuarios específicos. Para obtener más información, vea Proteger WCF Data Services.
Un programa de inspección HTTP puede ser muy útil cuando se depure un servicio de datos, ya que permite inspeccionar el contenido de los mensajes de solicitud y respuesta. Cualquier analizador de paquetes de red que pueda mostrar paquetes sin procesar se puede usar para inspeccionar las solicitudes HTTP al servicio de datos y las respuestas.
Cuando depure un servicio de datos, quizá desee obtener más información sobre un error desde el servicio de datos que durante el funcionamiento normal. Puede obtener información adicional sobre el error del servicio de datos si establece la propiedad UseVerboseErrors de DataServiceConfiguration en true y la propiedad IncludeExceptionDetailInFaults del atributo ServiceDebugBehavior de la clase de servicio de datos en true. Para obtener más información, vea la entrada de blog relacionada con la depuración de Servicios de datos de WCF. También puede habilitar la traza en WCF para ver las excepciones producidas en la capa de mensajería HTTP. Para obtener más información, vea Configuring Tracing.
Se suele desarrollar un servicio de datos como proyecto de aplicación de ASP.NET, pero también puede crear el servicio de datos como proyecto de sitio web de ASP.NET en Visual Studio. Para obtener información sobre las diferencias entre los dos tipos de proyectos, vea Web Application Projects versus Web Site Projects.
Cuando cree un servicio de datos mediante el uso del cuadro de diálogo Agregar nuevo elemento de Visual Studio, ASP.NET hospeda el servicio de datos en IIS. Mientras que ASP.NET e IIS sean el host predeterminado para un servicio de datos, se admiten opciones de hospedaje adicionales. Para obtener más información, vea Hospedar el servicio de datos (WCF Data Services).
Implementar WCF Data Services
El servicio de datos de WCF proporciona flexibilidad al elegir el proceso que hospede el servicio de datos. Puede usar Visual Studio para implementar un servicio de datos en las siguientes plataformas:
Servidor web hospedado en IIS
Cuando un servicio de datos se desarrolla como un proyecto ASP.NET, se puede implementar en un servidor web de IIS utilizando los procesos de implementación estándar de ASP.NET. Visual Studio proporciona las siguientes tecnologías de implementación para ASP.NET, dependiendo del tipo de proyecto ASP.NET que hospede el servicio de datos que está implementando.
Tecnologías de implementación para aplicaciones web ASP.NET
Tecnologías de implementación para sitios web ASP.NET
Para obtener más información sobre las opciones de implementación de una aplicación de ASP.NET, vea ASP.NET Web Application Project Deployment Overview.
Sugerencia
Antes de intentar implementar el servicio de datos en IIS, asegúrese de haber probado la implementación en un servidor web que esté ejecutando IIS.Para obtener más información, vea Cómo: Desarrollar un servicio de datos WCF que se ejecuta en IIS.
Windows Azure
Puede implementar un servicio de datos en Windows Azure con Windows Azure Tools para Visual Studio. Puede descargar Windows Azure Tools para Visual Studio del Centro de descarga de Microsoft. Para obtener más información sobre la implementación de un servicio de OData en Windows Azure, vea la entrada de blog relacionada con la implementación de un servicio de OData en Windows Azure.
Consideraciones de implementación
Debe plantearse lo siguiente cuando implemente un servicio de datos:
Al implementar un servicio de datos que utiliza el proveedor de Entity Framework para tener acceso a una base de datos de SQL Server, también podría tener que propagar estructuras de datos, datos o ambos con su implementación del servicio de datos. Visual Studio puede crear automáticamente scripts (archivos .sql) para hacer esto en la base de datos de destino y estos scripts se pueden incluir en el paquete de implementación web de una aplicación ASP.NET. Para obtener más información, vea How to: Deploy a Database With a Web Application Project. En un sitio web de ASP.NET, puede hacer esto con el Asistente para publicar bases de datos en Visual Studio. Para obtener más información, vea Deploying a Database by Using the Database Publishing Wizard.
Dado que Servicios de datos de Microsoft WCF incluye una implementación de WCF básica, puede utilizar Windows Server AppFabric para supervisar un servicio de datos implementado en IIS que se ejecuta en Windows Server. Para obtener más información sobre la supervisión de un servicio de datos con Windows Server AppFabric, vea la entrada de blog relacionada con el seguimiento de Servicios de datos de WCF con Windows Server AppFabric.
Vea también
Conceptos
Hospedar el servicio de datos (WCF Data Services)