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

Silverlight Discussion :

Problème avec les méthodes Linq to SQL en C#


Sujet :

Silverlight

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Problème avec les méthodes Linq to SQL en C#
    Bonjour, je suis en train de développer une application chargée de diffuser des messages dans une interface Silverlight sur le web. Cette application se contente simplement d'extraire le contenu (uniquement) des messages d'une base de données et de les afficher dans une listbox.

    J'ai donc fort logiquement et scrupuleusement suivi le tutoriel de Ludovic Lefort à ce sujet, en l'adaptant simplement à ma base de données (en local pour l'instant) et à mes paramètres.

    Mais voila, pour une raison mystérieusement mystérieuse, ma listbox n'affiche rien du tout au final, même si elle ne génère aucune erreur proprement dite...

    Voici le code de ma page.xaml.cs :
    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
     
    void Page_Loaded(object sender, RoutedEventArgs e)
    {
      ServiceReference1.ServiceClient client = new Silverlight_affichage_panneau.ServiceReference1.ServiceClient();
     
      client.GetMessagesByDatesCompleted += new EventHandler<Silverlight_affichage_panneau.ServiceReference1.GetMessagesByDatesCompletedEventArgs>(client_GetMessagesByDatesCompleted);
     
      client.GetMessagesByDatesAsync();
    }
     
    void client_GetMessagesByDatesCompleted(object sender, Silverlight_affichage_panneau.ServiceReference1.GetMessagesByDatesCompletedEventArgs e)
    {
      //liste_messages.ItemsSource = e.Result;
      liste_messages.DataContext = e.Result;
    }
    Notez que j'ai essayé à la fois avec ItemsSource et DataContext,

    Le code de ma requête Linq dans mon service.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public List<string> GetMessagesByDates()
    {
      DataClassesDataContext db = new DataClassesDataContext();
     
      var matchingAnnonces = from annonces in db.Panaff_Messages
      //where annonces.date_debut >= DateTime.Now && annonces.date_fin < DateTime.Now
      select annonces.contenu; 
     
      return matchingAnnonces.ToList();
    }
    La ligne en commentaire n'a pas d'importance, aussi j'utilise ServiceContract et OperationContract

    mon listbox dans page.xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ListBox x:Name="liste_messages" ItemsSource="{Binding}" Width="800" Height="500" />
    notez le Binding que j'ai également tenté par après

    Et enfin la seule exception qui apparait en mode débug :
    client.GetMessagesByDatesAsync() : La méthode ou l'opération n'est pas implémentée.
    qui me laisse penser que j'aurai oublié quelque chose, ce qui est très improbable vu le temps que j'ai mis à chercher dans ce tuto, mais sait-on jamais.

    Si vous avez une idée, j'achète

  2. #2
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Hello Lenox,

    Tu n'en parle pas mais je suppose que tu as bien modifié ton fichier de configuration pour mettre le fameux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <endpoint address="" binding="basicHttpBinding"...
    Edit:

    Remplace ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ListBox x:Name="liste_messages" ItemsSource="{Binding}" Width="800" Height="500" />
    par ça (pour voir ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ListBox x:Name="liste_messages" Width="800" Height="500" />

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Merci m'sieur mais c'est un peu à ça que servait le petit "également" dans le commentaire en dessous ^^

    J'ai d'abord essayé sans binding comme dans le tuto, ça marchait pas plus...

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Et si tu essais d'appeler ton service à la main via le browser ça donne quoi ?

    même si elle ne génère aucune erreur proprement dite...
    enfin la seule exception qui apparait en mode débug :
    Alors erreur ou pas erreur ? Choisis ton camp camarade

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Essaye de mettre à jour la référence de ton service WCF dans ton application Silverlight.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Quand je disais qu'il ne fait pas d'erreur, je voulais bien entendu parler du fait qu'il s'exécute sans problème, je ne parlais pas d'exception ou de bug ^^

    J'ai réessayé deux fois : en mettant mon service WCF à jour d'abord, et ensuite en le rappelant (avec un nouveau nom), dans mon Silverlight, et j'ai adapté le code de page.xaml.cs en conséquence , ça n'a rien changé

    Est-ce qu'il y aurait quelque chose à faire (qui ne serait pas explicité dans le tuto) par rapport à l'event "GetMessagesByDatesCompleted", ou par rapport à la requête Linq ?

    Je vais essayer de refaire un projet depuis le début pour voir, dites moi quand même si vous trouvez une solution entre temps...


    edit :
    Me revoilà déja, Je suis en train de bosser sur le nouveau projet, et Visual studio me fait un nouveau problème :

    Quand j'essaye de créer la référence à mon service WCF dans mon projet Silverlight, je fait 'Découvrir/Services in solution' et il me trouve mon service.

    Mais quand je veux l'explorer ou le valider, il me dit qu'il y a une 'erreur lors du téléchargement de metadata depuis l'adresse' et que je dois la vérifier (alors qu'elle est valide, puisqu'il la trouve tout seul !!!).

    J'ai ouvert les détails et il me dit que 'Le type «*[nom du projet web].[nom du service]*» fourni en tant que valeur de l’attribut Service dans la directive ServiceHost est introuvable'.

    C'est quoi ce nouveau délire et qu'est-ce que je dois faire ?


    edit :
    Oubliez ce dernier problème, il fallait juste 'build' le projet web pour que ça marche (ça aurait pu être précisé avant mais bon... Et j'ai réussi à faire fonctionner toute la solution correctement ^^

    Le problème initial est donc résolu, mais je ne le marquerai pas comme tel parce que je ne comprend toujours pas ce qui a foiré sur le premier Oo

    Merci à vous !


    edit :
    ET MERDE !!! j'ai parlé trop vite : ça a marché correctement la première fois (mes messages se sont affichés et tout) mais ça ne marche à nouveau plus :

    Comme avant, l'application se lance mais ma listbox est vide, et cette fois, le mode débug ne me dit rien du tout...

    J'ai seulement modifié quelques données dans ma base entre temps (sans les supprimer), est-ce que quelqu'un peut me dire ce qui s'est passé ?

  7. #7
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    Bonjour,

    Etrange ça .... ça marche ... puis ça marche plus
    Tu ne reçois aucune erreur ? meme dans Visual Studio ? pas d'exception ?

    Essai d'utiliser ton web service depuis le navigateur, dans passer par un projet Silverlight.

    Ludovic,

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Non, laissez tomber j'ai réglé le problème, c'était le serveur de test généré par VS qui changeait tout le temps de port...

    J'ai enregistré mon WS manuellement dans le fichier config, ça devrait aller maintenant. Merci quand même ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les apostrophes dans le sql en VBA
    Par cyrilboulan dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/03/2017, 10h11
  2. [debutant] Problème avec les formulaires et le SQL
    Par Bistru dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/01/2010, 23h53
  3. Réponses: 4
    Dernier message: 13/05/2009, 15h04
  4. Problème avec les méthodes en JAVA
    Par beegees dans le forum Langage
    Réponses: 9
    Dernier message: 04/02/2007, 20h19
  5. [Système] Problème avec les méthodes d'une classe
    Par oussama127 dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2006, 09h18

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