Création du service de données (démarrage rapide WCF Data Services)
Dans cette tâche, vous allez créer un exemple de service de données qui expose un flux Protocole OData (Open Data) basé sur l'exemple de base de données Northwind. La tâche implique les étapes fondamentales suivantes :
Créez une application Web ASP.NET.
Définissez le modèle de données à l'aide des outils Entity Data Model.
Ajoutez le service de données à l'application Web.
Activez l'accès au service de données.
Remarque : |
---|
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.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 Internet (IIS).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
Dans Visual Studio, dans le menu Fichier, sélectionnez Nouveau, puis Projet.
Dans la boîte de dialogue Nouveau projet, sélectionnez Visual Basic ou Visual C# comme langage de programmation.
Dans le volet Modèles, sélectionnez Application Web ASP.NET. Remarque : si vous utilisez Visual Studio Web Developer, vous devrez créer un nouveau site Web au lieu d'une nouvelle application Web.
Tapez NorthwindService comme nom du projet.
Cliquez sur OK.
(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.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.
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
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet ASP.NET, puis cliquez sur Ajouter un nouvel élément.
Dans la boîte de dialogue Ajouter un nouvel élément , sélectionnez ADO.NET Entity Data Model.
Tapez Northwind.edmx pour le nom du modèle de données.
Dans l'Assistant EDM, sélectionnez Générer à partir de la base de données, puis cliquez sur Suivant.
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.
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.
Cliquez sur Terminer pour fermer l'Assistant.
Remarque : 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
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.
Dans cette boîte de dialogue Ajouter un nouvel élément, sélectionnez ADO.NET Data Service.
Tapez Northwind pour le nom du service.
Visual 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.
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 casNorthwindEntities
. 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.
Remarque : 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 Securing ASP.NET Web Sites.
Étapes suivantes
Vous avez pu créer un nouveau service de données qui expose un flux OData basé sur l'exemple de base de données Northwind, et vous avez activé l'accès au flux pour les clients qui ont des autorisations sur l'application Web ASP.NET. Vous démarrerez ensuite le service de données à partir de Visual Studio et vous accéderez au flux OData en soumettant des demandes HTTP GET via un navigateur Web :
Accès au service à partir d'un navigateur Web