Crear el servicio de datos (Tutorial rápido de WCF Data Services)

En esta tarea, creará un servicio de datos de ejemplo que exponga una fuente de Open Data Protocol (OData) basada en la base de datos de ejemplo Northwind. Esta tarea supone la realización de los siguientes pasos básicos:

  1. Cree una aplicación web ASP.NET.

  2. Defina el modelo de datos usando las herramientas de Entity Data Model.

  3. Agregue el servicio de datos a la aplicación web.

  4. Habilite el acceso al servicio de datos.

Dd728275.note(es-es,VS.100).gifNota:
La aplicación web ASP.NET que crea al completar esta tarea se ejecuta en el servidor de desarrollo de ASP.NET proporcionado por Visual Studio.Para facilitar la prueba y la solución de problemas del servicio de datos durante el desarrollo, puede ejecutar la aplicación que hospeda el servicio de datos mediante Internet Information Services (IIS).Para obtener más información, vea Cómo: Desarrollar un servicio de datos WCF que se ejecuta en IIS.

Para crear la aplicación web ASP.NET

  1. En Visual Studio, en el menú Archivo, seleccione Nuevo y, a continuación, seleccione Proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, seleccione Visual Basic o Visual C# como el lenguaje de programación.

  3. En el recuadro Plantillas, seleccione Aplicación web ASP.NET. Nota: si usa Visual Studio Web Developer, tendrá que crear un nuevo sitio web en lugar de una nueva aplicación web.

  4. Escriba NorthwindService como nombre del proyecto.

  5. Haga clic en Aceptar.

  6. (Opcional) Especifique un número de puerto específico para la aplicación web. Nota: en el resto del tutorial rápido se usa el número de puerto 12345.

    1. En el Explorador de soluciones, haga clic con el botón secundario en el nombre del proyecto de ASP.NET que acaba de crear y, a continuación, haga clic en Propiedades.

    2. Seleccione la pestaña Web y, a continuación, establezca el valor del cuadro de testo Puerto específico en 12345.

Para definir el modelo de datos

  1. En el Explorador de soluciones, haga clic con el botón secundario en el nombre del proyecto de ASP.NET y, a continuación, seleccione Agregar nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, seleccione ADO.NET Entity Data Model.

  3. Como nombre del modelo de datos, escriba Northwind.edmx.

  4. En el Asistente para Entity Data Model, seleccione Generar desde la base de datos y, a continuación, haga clic en Siguiente.

  5. Para conectar el modelo de datos a la base de datos efectúe uno de los pasos siguientes y después haga clic en Siguiente:

    • Si no tiene una conexión de base de datos ya configurada, haga clic en Nueva conexión y cree una conexión nueva. Para obtener más información, vea Cómo: Crear conexiones a bases de datos de SQL Server. Esta instancia de SQL Server debe tener adjuntada la base de datos de ejemplo Northwind.

      o bien

    • Si tiene una conexión de base de datos ya configurada para conectarse a la base de datos Northwind, seleccione esa conexión en la lista de conexiones.

  6. En la página final del asistente, seleccione las casillas de todas las tablas de la base de datos y desactive las casillas correspondientes a las vistas y los procedimientos almacenados.

  7. Haga clic en Finalizar para cerrar el asistente.

    Dd728275.note(es-es,VS.100).gifNota:
    Este modelo de datos generado expone las propiedades de clave externa en los tipos de entidad.Los modelos de datos creados mediante Visual Studio 2008 no incluyen estas propiedades de clave externa.Debido a esto, debe actualizar las clases del servicio de datos de cliente de cualquier aplicación cliente que se haya creado para tener acceso al servicio de datos de Northwind que se creó con Visual Studio 2008 antes de intentar tener acceso a esta versión del servicio de datos de Northwind.

Para crear el servicio de datos

  1. En el Explorador de soluciones, haga clic con el botón secundario en el nombre del proyecto de ASP.NET y, a continuación, haga clic en Agregar nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, seleccione Servicio de datos de ADO.NET.

  3. Como nombre del servicio, escriba Northwind.

    Visual Studio crea los archivos de código y marcado XML para el nuevo servicio. De forma predeterminada, se abre la ventana del editor de código. En el Explorador de soluciones, el servicio tendrá el nombre Northwind, con la extensión .svc.cs o .svc.vb.

  4. En el código para el servicio de datos, reemplace el comentario /* TODO: put your data source class name here */ de la definición de la clase que define el servicio de datos por el tipo que es el contenedor de entidades del modelo de datos, que en este caso es NorthwindEntities. La definición de la clase debería ser como la siguiente:

    Public Class Northwind
        Inherits DataService(Of NorthwindEntities)
    
    public class Northwind : DataService<NorthwindEntities>
    

Para habilitar el acceso a los recursos del servicio de datos

  1. En el código del servicio de datos, reemplace el código de marcador de posición de la función InitializeService por el siguiente:

    ' Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead _
         Or EntitySetRights.WriteMerge _
         Or EntitySetRights.WriteReplace)
    config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead _
        Or EntitySetRights.AllWrite)
    config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead)
    
     // Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead 
         | EntitySetRights.WriteMerge 
         | EntitySetRights.WriteReplace );
     config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead
         | EntitySetRights.AllWrite);
     config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead);
    

    De esta forma, los clientes autorizados pueden tener acceso de lectura y escritura a los recursos para los conjuntos de entidades especificados.

    Dd728275.note(es-es,VS.100).gifNota:
    Cualquier cliente que pueda tener acceso a la aplicación ASP.NET también puede tener acceso a los recursos expuestos por el servicio de datos.En un servicio de datos de producción, para evitar el acceso no autorizado a los recursos también debería proteger la aplicación.Para obtener más información, vea Securing ASP.NET Web Sites.

Pasos siguientes

Ha creado correctamente un nuevo servicio de datos que expone una fuente de OData basada en la base de datos de ejemplo Northwind y ha habilitado el acceso a la fuente para los clientes que tienen permisos en la aplicación web ASP.NET. A continuación, iniciará el servicio de datos desde Visual Studio y tendrá acceso a la fuente de OData enviando solicitudes HTTP GET a través de un explorador web:

Obtener acceso al servicio desde un explorador web

Vea también

Otros recursos

ADO.NET Entity Data Model Tools