Exporter (0) Imprimer
Développer tout

Se connecter à la Base de données SQL Azure au moyen de WCF Data Services

Mis à jour: avril 2014

Services de données WCF (autrefois appelé ADO.NET Data Services) vous permet de créer des services de données qui implémentent le protocole OData (Open Data Protocol) basé sur REST (Representational State Transfer). Étant donné qu'OData est basé sur des protocoles Internet standard, les services de données sont accessibles par toutes les applications clientes qui peuvent envoyer et recevoir des messages HTTP et analyser XML. De plus, il existe de nombreuses bibliothèques clientes qui facilitent la consommation de flux OData sur différentes plateformes d'applications. Pour plus d'informations sur les bibliothèques clientes qui prennent en charge OData, consultez Kit de développement logiciel OData.

Services de données WCF nécessite l'implémentation d'un fournisseur de services de données pour définir le modèle de données et fournir l'accès à la source de données sous-jacente. Le fournisseur Entity Framework vous permet de créer des services de données pour une Base de données SQL Azure. Pour plus d'informations sur la façon d'utiliser Services de données WCF, consultez la documentation de WCF Data Services.

noteRemarque
Lorsque vous ouvrez une connexion à un Base de données SQL Azure, définissez le délai de connexion à 30 secondes.

Cette rubrique montre comment créer un service de données simple basé sur une base de données Base de données SQL Azure et une application Azure qui accède au service de données. Cette rubrique utilise l'exemple de base de données School déployé vers Base de données SQL Azure dans How To: Migrate a Database by Using Scripts.

Pour suivre cet exemple, vous devez installer le Kit de développement Azure SDK et les Outils Azure pour Microsoft Visual Studio. Pour plus d'informations sur Azure, consultez le Kit de développement Azure SDK. Vous devez également initialiser le service Development Storage installé avec les Outils Azure à l'aide de l'utilitaire DSInit. Development Storage doit être initialisé une seule fois. Pour plus d'informations, consultez À propos de Development Storage.

  1. Dans Visual Studio, dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.

    WarningAvertissement
    Vous devez exécuter Visual Studio en tant qu'administrateur pour utiliser Azure Development Fabric.

  2. Dans le volet Types de projets, sélectionnez Web. Dans le volet Modèles, sélectionnez Application Web ASP.NET. Entrez SchoolApplication comme Nom, puis cliquez sur OK.

  3. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur SchoolApplication, pointez sur Ajouter, puis sélectionnez Nouvel élément.

  4. Sélectionnez ADO.NET Entity Data Model, entrez SchoolDataModel.edmx comme Nom, puis cliquez sur Ajouter.

  5. Dans l'Assistant EDM, sélectionnez Générer à partirde la base de données, puis cliquez sur Suivant.

  6. Cliquez sur Nouvelle connexion, entrez les informations de la base de données School sur votre serveur Base de données SQL Azure, puis cliquez sur OK. Sélectionnez l'option Non, exclure les données sensibles de la chaîne de connexion. Je définirai ces informations dans le code de mon application. Ensuite, cliquez sur Suivant.

  7. Sélectionnez Tables, puis cliquez sur Terminer. Cela crée un fichier .edmx qui définit un type d'entité pour chaque table dans la base de données.

    CautionAttention
    Pour suivre cet exemple dans Visual Studio 2010 ou version ultérieure, désactivez la case à cocher Mettre au pluriel ou au singulier les noms d'objets générés. Lors de l'exécution de cet exemple dans Visual Studio 2008, Entity Framework ne peut pas créer le fichier .edmx et les classes clientes associées à partir d'une Base de données SQL Azure. Il doit se connecter à une instance locale de SQL Server pour générer les fichiers de mappage et de modèle. Toutefois, l'Entity Framework se connectera à Base de données SQL Microsoft Azure lorsque les fichiers de mappage et de modèle auront été créés.

  1. Dans l'Explorateurde solutions, cliquez avec le bouton droit sur SchoolApplication, pointez sur Ajouter, puis sélectionnez Nouvelélément.

  2. Sélectionnez WCF Data Service, entrez SchoolDataService.svc comme Nom, puis cliquez sur Ajouter.

  3. Dans SchoolDataService.svc.cs ou SchoolDataService.svc.vb, 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 par le type qui est le conteneur d'entités du modèle de données (dans le cas présent, SchoolEntities). La définition de classe doit ressembler à ce qui suit :

  4. Remplacez le code d'espace réservé dans la fonction InitializeService par le code suivant, qui accorde l'accès aux entités Course, Department et Person :

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la solution, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouveau projet, dans le volet Types de projets, sélectionnez Service Cloud. Tapez SchoolSite comme Nom, puis cliquez sur OK.

  3. Dans la boîte de dialogue Nouveau projet de Service Cloud, ajoutez un Rôle Web ASP.NET au volet Solution de Service Cloud, puis cliquez sur OK.

  4. Remplacez la source dans Default.aspx par le code suivant :

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1">
        <div>
        
            <asp:DropDownList ID="peopleList" runat="server" 
                onselectedindexchanged="peopleList_SelectedIndexChanged"
        AutoPostBack="True">
            </asp:DropDownList>
            <br />
            <br />
            <asp:Label ID="infoLabel" runat="server"></asp:Label>
            <br />
            
        
        </div>
        </form>
    </body>
    </html>
    

    Cela crée une liste déroulante nommée peopleList et un contrôle Label nommé infoLabel.

  5. Appuyez sur F6 pour générer l'application.

  6. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de rôle Web, puis cliquez sur Ajouter une référence de service.

  7. Dans la boîte de dialogue Ajouter une référence de service, cliquez sur Découvrir. SchoolDataService.svc s'affiche dans le volet Services. Tapez SchoolServiceReference comme Nom, puis cliquez sur OK. Cela ajoute le fichier qui contient les classes de données qui accèdent aux ressources de service de données.

  1. Dans Default.aspx.cs ou Default.aspx.vb, ajoutez les instructions using suivantes (Imports en Visual Basic) :

  2. Dans la classe partielle, ajoutez les déclarations suivantes pour le DataServiceContext et l'URI au service de données (l'URI affiché précédemment dans le champ Adresse de la boîte de dialogue Ajouter une référence de service) :

  3. Dans la méthode Page_Load, instanciez le contexte de service de données et chargez la liste déroulante avec les informations du service de données en ajoutant le code suivant :

  4. En mode Design de Default.aspx, double-cliquez sur la liste déroulante pour ajouter l'événement peopleList_SelectedIndexChanged.

  5. Dans l'événement peopleList_SelectedIndexChanged, remplissez le contrôle Label selon la personne sélectionnée en ajoutant le code suivant :

  1. Effectuez une migration de la base de données School vers Base de données SQL Azure en suivant les instructions fournies dans How To: Migrate a Database by Using Scripts.

  2. Dans le projet SchoolApplication, ouvrez le fichier Web.config. Modifiez la chaîne de connexion de sorte qu'elle établisse une connexion à votre Base de données SQL Azure.

  3. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet WebRole1 et sélectionnez Définir comme projet de démarrage.

  4. Appuyez sur F5 pour exécuter l'application.

Voir aussi

Afficher:
© 2014 Microsoft