Partager via


Création du service de données Northwind (démarrage rapide de WCF Data Services)

Dans cette tâche, vous allez créer une version locale de l'exemple du service de données Northwind qui utilise Services de données WCF pour exposer un flux Protocole OData (Open Data) basé sur l'exemple de base de données Northwind. Cette version prendra en charge la mise à jour des données de la base de données Northwind à l'aide d'OData. La tâche implique les étapes fondamentales suivantes :

  1. Créez une application Web ASP.NET.

  2. Définissez le modèle de données à l'aide des outils Entity Data Model.

  3. Ajoutez le service de données à l'application Web.

  4. Activez l'accès au service de données.

Notes

L'application Web ASP.NET que vous créez lorsque vous effectuez cette tâche s'exécute sur le serveur de développement ASP.NET fourni par Visual Studio.Le serveur de développement ASP.NET prend uniquement en charge l'accès à partir de l'ordinateur local.Pour simplifier les opérations de test et de dépannage du service de données pendant le développement, envisagez d'exécuter l'application qui héberge le service de données à l'aide des Services IIS (Internet Information Services).Pour plus d'informations, consultez Procédure : développer un WCF Data Service qui fonctionne sur IIS.

Pour créer l'application Web ASP.NET

  1. Dans le menu Fichier de Visual Studio, sélectionnez Nouveau, puis Projet.

  2. Dans la boîte de dialogue Nouveau projet, sous Visual Basic ou Visual C# , sélectionnez le modèle Web, puis Application Web ASP.NET.

    Notes

    Si vous utilisez Visual Studio Web Developer, vous devrez créer un nouveau site Web au lieu d'une nouvelle application Web.

  3. Tapez NorthwindService comme nom du projet.

  4. Cliquez sur OK.

  5. (Facultatif) Spécifiez un numéro de port spécifique pour votre application Web. Remarque : le numéro de port 12345 est utilisé pour le reste du démarrage rapide.

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet ASP.NET que vous venez de créer, puis cliquez sur Propriétés.

    2. Sélectionnez l'onglet Web et définissez la valeur de la zone de texte Port spécifique sur 12345.

Pour définir le modèle de données

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet ASP.NET, puis cliquez sur Ajouter un nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, cliquez sur le modèle Données, puis sélectionnez ADO.NET Entity Data Model.

  3. Tapez Northwind.edmx pour le nom du modèle de données.

  4. Dans l'Assistant Entity Data Model, sélectionnez Générer à partir de la base de données, puis cliquez sur Suivant.

  5. Connectez le modèle de données à la base de données en suivant l'une des étapes suivantes puis cliquez sur Suivant :

    • Si vous n'avez pas une connexion de base de données déjà configurée, cliquez sur Nouvelle connexion puis créez une nouvelle connexion. Pour plus d'informations, consultez Procédure : créer des connexions à des bases de données SQL Server Cette instance SQL Server doit avoir l'exemple de base de données Northwind joint.

      – ou –

    • Si vous avez une connexion de base de données déjà configurée pour vous connecter à la base de données Northwind, sélectionnez cette connexion dans la liste des connexions.

  6. Dans la page finale de l'Assistant, activez les cases à cocher pour toutes les tables de la base de données puis désactivez les cases pour les vues et les procédures stockées.

  7. Cliquez sur Terminer pour fermer l'Assistant.

    Notes

    Ce modèle de données généré expose les propriétés de clé étrangère sur les types d'entité.Les modèles de données créés à l'aide de Visual Studio 2008 n'incluent pas ces propriétés de clé étrangère.Vous devez donc mettre à jour les classes de service de données clientes de toutes les applications clientes créées pour accéder au service de données Northwind créé à l'aide de Visual Studio 2008 avant d'essayer d'accéder à cette version du service de données Northwind.

Pour créer le service de données

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de votre projet ASP.NET, puis cliquez sur Ajouter un nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Service de données WCF.

  3. Tapez Northwind pour le nom du service.

    Visual StudioVisual Studio crée le balisage XML et des fichiers de code pour le nouveau service. La fenêtre de l'éditeur de code s'ouvre par défaut. Dans l'Explorateur de solutions, le service aura le nom, Northwind, avec l'extension .svc.cs ou .svc.vb.

  4. Dans le code pour le service de données, remplacez le commentaire /* TODO: put your data source class name here */ dans la définition de la classe qui définit le service de données avec le type qui est le conteneur d'entités du modèle de données, dans ce cas NorthwindEntities. La définition de classe doit ressembler à ceci :

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

Pour activer l'accès aux ressources du service de données

  • Dans le code du service de données, remplacez le code d'espace réservé dans la fonction InitializeService par le code suivant :

    ' 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);
    

    Cela permet aux clients autorisés d'accéder aux ressources en lecture et en écriture pour les jeux d'entités spécifiés.

    Notes

    Tout client qui peut accéder à l'application ASP.NET peut également accéder aux ressources exposées par le service de données.Dans un service de données de production, pour empêcher l'accès non autorisé aux ressources, vous devez également sécuriser l'application elle-même.Pour plus d'informations, consultez Sécurisation de WCF Data Services.

Étapes suivantes

Vous avez créé correctement une version locale et accessible en écriture d'un service OData basé sur l'exemple de base de données Northwind. Vous avez également activé l'accès au flux pour les clients disposant d'autorisations sur l'application Web ASP.NET. Vous allez ensuite créer une deuxième application cliente qui lie ces données Northwind aux contrôles Windows et envoie des mises à jour vers ce nouveau service OData accessible en écriture :

Liaison de flux OData aux contrôles d'une application cliente

Voir aussi

Autres ressources

ADO.NET Entity Data Model Tools