Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.

Slides:



Advertisements
Présentations similaires
Didacticiel Mon EBSCOhost
Advertisements

MySQL Base de données.
Installer un serveur FTP
Access Frédéric Gava (MCF)
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
D/ Partage et permission NTFS
Chapitre I : Systèmes d’exploitation
Vue d'ensemble Vue d'ensemble de la sécurité dans Windows Server 2003
Relations avec les entity beans Michel Buffa UNSA
Cours Présenté par …………..
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Présentation des tables des matières j puis appuyez sur F5 ou cliquez sur Diaporama > Du début. Pour commencer le cours, dans la barre des messages, cliquez.
12 novembre 2012 Grégory Petit
Procédure dinstallation Windows Xp pro. Dans cette procédure nous verrons comment installer Windows xp pro sur un disque dur Vierge. Dans un premier temps,
API Présentation Comment ajouter des pages. Vous voici dans notre site « laboratoire » pour la démonstration RAJOUTER UNE PAGE.
Sécurité Informatique
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
Microsoft Excel Avancé
ManageEngine ADManager Plus 6
Module 1 : Préparation de l'administration d'un serveur
Autodesk® Revit® Building 9
Administration de SharePoint
Les fonctionnalités : Contacts Windows Présentation de CARNET DADRESSE.
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Lutilisation de la Cloudwatt-box Emmanuel Keller, CTO OpenSearchServer.
Les instructions PHP pour l'accès à une base de données MySql
Formation C.A.H.M Outlook Web Access ( courriel )
Auto Exterior Scoop SQP PROCESSUS 24 juillet 2006 Version validée V01.
28 novembre 2012 Grégory Petit
Publispostage Menu Outils / Lettres et publipostage
Type de contenu. © Partouche David / 2007 version 0.1 Colonne de site Une colonne de site permet de définir un champs qui sera exploitable au sein de.
Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.
Citrix® Presentation Server 4.0 : Administration
Module 4 : Maintenance des pilotes de périphériques
Module 5 : Publication de ressources dans Active Directory
PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024.
31 octobre 2012 Grégory Petit
Développement d’application avec base de données
GESTION DES UTILISATEURS ET DES GROUPES
Windows 2003 Server Modification du mode de domaine
La mémoire virtuelle Dans laquelle un ordinateur exécute des programmes dont les besoins en mémoires dépassent la mémoire disponible. Par exemple des.
Exemples de paramètrage ACL VLAN niveau 3
Fonctions avancées et graphiques
Bureautique M1 Publipostage.
Introduction à CmapTools par Jacques-Antoine V-Lemay 3 septembre 2008 par Jacques-Antoine V-Lemay 3 septembre 2008.
POWERPOINT.
Création d’un domaine Il faut :
Jean Paul CHANLON IUT1 Grenoble Génie Mécanique et Productique
Développement d’application avec base de données Semaine 6 : Windows Form avec Entité Framework Automne 2014.
J’ade 2006 Installation, saisie et remontée des résultats
Publication Flash sur Internet et Transfert avec Dreamweaver COM3562 Communication Multimédia MARS 2011.
MINI‐PROJET DE GROUPE REALISE DANS LE CADRE DU COURS DE GEN
24 octobre 2012 Grégory Petit
Vous voici dans notre site « laboratoire » pour la démonstration AJOUTER UNE PAGE Cliquez sur ENTREZ ICI pour accéder à la partie administration.
Faire déplacer le personnage à l’aide des flèches du clavier Il y a plusieurs façon de procéder selon nos attentes, mais en voici une qui est très simple:
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Utiliser le dossier Mon EBSCOhost Tutoriel support.ebsco.com.
Dreamweaver le retour Avec Les Formulaires Les Calques
FORMULAIRES FOMULAIRE Permet à l’utilisateur d’entrer des renseignements le concernant. Utilisation –Inscription sur un site –Mise à jour d’une base.
Dreamweaver 2 Plan 1.Calques 2.CSS 3.Modèles 4.Comportements 5.Formulaires 6.Mise en ligne 1 Timothée Devaux Myriam Roudy Dreamweaver 2 Printemps 2008.
Les formulaires Les calques Les comportements Les scénarios Les modèles Les feuilles de styles (CSS) La mise en ligne Les formulaires permettent à l’utilisateur.
DREAMWEAVER MX2 - Séance 2 Les calques Les comportements Les scénarios Les formulaires Les feuilles de style Les modèles Les cadres Mise en ligne Jérôme.
Formation.
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
Accès simplifié Web pour les responsables de Cuma 3 mars 2016.
Formation K-sup Niv 1 Février 2009 CRISI - COM. Programme formation (1 ère ½ journée) _ Fonctionnement de K-Sup _ Création de la structure du site de.
Développement d’application avec base de données Semaine 6 : Windows Form avec Entité Framework Automne 2015.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Développement d’application avec base de données Semaine 2: Requête avec l’Entity Data Model Automne 2015.
Transcription de la présentation:

Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013

Dans ce cours, nous allons voir lutilisation de lentité Framework avec les services WCF et quels complications(et solutions) peuvent survenir. Introduction

Architecture Création de la partie serveur Création de la partie client Exercices Plan de présentation

Architecture

Lutilisation de lentité framework nous aidera à gérer la base de données du côté service. Par contre, du côté client, EntityCollections nexistera pas de la même manière. Par exemple, les objets en relations avec les autres seront stocké dans des List plutôt que dans un EntityCollections. Un autre différence est que les propriétés de navigations ne seront pas automatiquement dans les deux directions. De plus, il faut garder à lesprit que les modifications stockés dans ObjectStateEntry seront perdues une fois transféré au service. Mise en garde

Une mauvaise choses pour les clients qui nutilisent pas le.Net. De plus, la sérialisation(protocole du service) fait que les objets EntityObject sont très gros. Par contre, si lon est certain dutiliser un client.Net, cela nous simplifie énormément le travail. Retourner des EntityObjects de la part du service: Bon ou Mauvais?

1.Créer un projet(exemple Console) qui utilise qui utilise lentité Data Modèle 2.Ajouter un projet « Application du service WCF » Construire un service avec lentité Framework

Renommer(partout dans le projet) IService1 pour quelque chose de plus significatif. Ajouter une référence à System.Data.Entity Copier la section ConnectionStrings de votre projet Modèle (app.config) vers votre projet Service(web.config) Construire un service avec lentité Framework

1.Ouvrir le fichier de linterface (exemple : ICustomerService). 2.Supprimer les opérations par défaut GetData et GetDataUsingDataContract. 3.Ajouter le bon usign de votre EDM. 4.Ajouter les méthodes OperationContract dans votre interface Construire un service avec lentité Framework

Il est possible de définir de nouveaux types qui pourront être utilisés du côté client(définis dans le WSDL) avec le mot-clé [DataContract()](et par conséquent [DataMember()]).

Cest maintenant le temps dajouter de la logique à notre service 1.Supprimer les méthodes par défauts. 2.Ajouter les bons using. 3.Implémenter linterface du service 4.Ajouter le code pour retrouver la liste des contacts Implémenter linterface du service

Construire un service avec lentité Framework

Recommandation Lorsquon utilise un service Web, il faut que la durée de vie du contexte(et sa connexion) soit la plus courte possible. Pourquoi? Pour éviter davoir plusieurs contextes entres les différents clients qui soit désynchronisés.

Attention avec le Lazy Loading. Il est préférable de le désactiver et de gérer nous-même les éléments transférés. La sérialisation lors dun transfert essaiera de récupérer les entités reliés. Pour tester votre nouvelle fonction, vous pouvez suivre les étapes(voir plus bas)voir plus bas

Construire un service avec lentité Framework La méthode GetContact

Construire un service avec lentité Framework InsertContact Il y a plusieurs choses à savoir si lon veut ajouter un contact: Les valeurs par défaut définies dans le modèle ne sont pas sérialisé. Si on veut ajouter les éléments en liens avec une entité, il faut utiliser le mot clé [DataContract(IsReference = true)] pour éviter une référence cyclique lors de la sérialisation... Par contre les performances seront moindres.

Construire un service avec lentité Framework

Supprimer un contact et ses adresses

Construire un service avec lentité Framework Lors de la modification dun contact un problème simpose: Comment savoir ce qui a été modifié, ajouté ou supprimer. Comme nous navons pas accès au ChangeTracker du côté client, il faudra utiliser une astuce pour faire la modification.

Construire un service avec lentité Framework Au niveau du service, nous allons définir un nouveau type pour la modification dun contact(ContactUpdate). Ce nouveau type contiendra le Contact et ses adresses modifié et ajouté. De plus, il contiendra la liste des numéro dadresse à supprimer. Et comme On sait quune nouvelle adresse à un id < 0, il ne restera quà traiter indépendamment les trois cas possibles (Ajouter, Modifier et Supprimer)

Construire un service avec lentité Framework

1.Créer un nouveau projet Console ou Windows Form. 2.Ajouter une référence à un Service. Clique droit sur le nouveau projet et sélectionner Ajouter une référence de service Construire un client qui utilise un service avec lentité Framework

Cliquer sur le bouton Avancé… et modifier le type de collection de System.Array pour Generic List. Cliquer sur Ok Construire un client qui utilise un service avec lentité Framework

Comme nous aurons probablement beaucoup de donnés à transférer nous devrons augmenter la taille maximale du buffer. Double-click sur app.config. Dans lélément binding, ajouter/modifier lattribut MaxReceivedMessageSize. Augmenter sa valeur. Faire la même chose avec lattribut MaxBufferSize. Les deux attributs MaxReceivedMessageSize et MaxBufferSize doivent avoir la même valeur. Construire un client qui utilise un service avec lentité Framework

Maintenant, vous pouvez tester votre service en créant un objet en lien avec le proxy. Construire un client qui utilise un service avec lentité Framework

Faite les exercices. Exercice

Questions?