IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Communication Foundation .NET Discussion :

Pb transmission données WCF


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Points : 74
    Points
    74
    Par défaut Pb transmission données WCF
    Bonjour à tous,

    Environnement : Windows 7 Pro 64bits, visual studio 2012 express for web, framework 4.5.

    J'ai développé un petit site web MVC 4.
    J'ai structuré la solution .Net ainsi :
    - 1 projet MVC4
    - 1 projet données - Model (projet bibliothèque de classes) où se trouve un
    Modèle Entity-Framework ADO .Net 5 généré à partir d'une BD sql server
    2012, + des classes partials complétant les classes du modèle avec
    DataAnnotation
    - 1 projet WCF

    Je l'ai ainsi structuré pour pouvoir accéder les objets métiers du modèle entity-framework dans les projets MVC4 et WCF (ça fonctionne correctement).

    Je voulais donc savoir le service WCF ainsi programmé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        public class CommuneService : ICommuneService
        {
            public List<Commune> SearchCommune(string startStr)
            {
                CovoiturageIntegreEntities db = new CovoiturageIntegreEntities();
     
                return db.Communes.Where(c => c.Commune1.StartsWith(startStr)).Take(100)
                                .ToList();
            }
        }
    ne fonctionne pas

    et pourquoi le service WCF ainsi programmé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
        public class CommuneService : ICommuneService
        {
            public List<Commune> SearchCommune(string startStr)
            {
                CovoiturageIntegreEntities db = new CovoiturageIntegreEntities();
     
                List<Commune> l = db.Communes.Where(c => c.Commune1.StartsWith(startStr)).Take(100)
                                .ToList();
     
                List<Commune> l2 = new List<Commune>();
     
                foreach (Commune c in l)
                {
                    l2.Add(new Commune { Commune1 = c.Commune1, CodeINSEE = c.CodeINSEE, CodePostal = c.CodePostal, RegionId = c.RegionId, Trajets = null, Trajets1 = null });
                }
     
                return l2;
            }
        }
    fonctionne.

    En fait ce qui se passe, dans le 1er cas l'a sélection des données fonctionne correctement mais ne sont pas envoyées au client, dans le 2nd cas les données sont correctement envoyées au client.

    Les objets envoyés sont issus du modèle entity-framework.

    Auriez-vous une idée ?

    Merci d'avance de vos éclaircissements.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Points : 74
    Points
    74
    Par défaut
    Apparemment ce serait à cause du lazy loading de l'entity-framework.

    Dans le premier cas, la requête retourne une collection de Commune avec les entités relatives les collections Trajets et Trajets1.

    Dans le 2nd cas, la re-création des Communes avec les collections relatives Trajets et Trajets1 à null permet la transmission des données.

    Donc j'ai désactivé l'option lazyloading de l'entity-framework, la requête retourne les collections relatives Trajets et Trajets1 non nulles avec 0 élément, et ... ça fait planter la transmission du WCF Service.

    Une autre idée ?

Discussions similaires

  1. erreur PDO rowcount + transmission donnée $_POST
    Par kbazin dans le forum Langage
    Réponses: 8
    Dernier message: 05/08/2011, 10h50
  2. Problème de consommation de données WCF avec Silverlight
    Par EdouardTH dans le forum Services Web
    Réponses: 0
    Dernier message: 20/05/2011, 14h52
  3. [Spring MVC] transmission données formulaire
    Par Mouns007 dans le forum Spring Web
    Réponses: 3
    Dernier message: 21/11/2008, 16h47
  4. transmission donnée javascript vers serveur
    Par benneb dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/09/2007, 22h36
  5. Réponses: 3
    Dernier message: 13/04/2006, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo