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

C# Discussion :

WFC Client/Serveur : Erreur Méthode Surchargée [Débutant]


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 36
    Points
    36
    Par défaut WFC Client/Serveur : Erreur Méthode Surchargée
    Bonjour ,
    Je développement une appli client serveur en c#.Mon code ci-dessous me génère le message d'erreur suivant :
    "La méthode surchargée ... Champ_Recherche possède arguments non valide"

    Aidez moi svp a trouver ce qui cloche. Merci !
    ---->CLient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private void btn_EnregChamps_Click(object sender, EventArgs e)
            {// champsSelect  est une listebox
     
     
                foreach (object item in ChampsSelect.Items)
                {
     
                    string Champ_id = Client.Champ_Recherche((ChampsSelect.Tag as List<Champ>), item.ToString());
     
                }
     
            }
    ---->Serveur
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    using System;
    using System.ServiceModel;
    using System.ServiceModel.Channels;
    using System.IO;
    using System.Configuration;
    using System.Diagnostics;
    using System.Windows.Forms;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Data.Odbc;
    using System.Runtime.Serialization;
    using Model;
    using Infragistics.Win.UltraWinTree;
     
     
    namespace eDipWCFLibrary
    {
     
        [ServiceContract()]
        public interface IService 
        {
     
            [OperationContract]
            string Champ_Recherche(List<Champ> chps, string Valeur);
     
     
        }
     
     
        public partial class Service : IService 
        {
             public string Champ_Recherche(List<Champ> chps, string Valeur)
            {
                foreach (Champ chp in chps)
                {
                    string chpval = string.Format("{0} - [{1}]", chp.NOM, chp.LIBELLE);
                    if (chpval == Valeur)
                    {
                        return chp.CHAMP_ID;
                    }
                }
                return "";
            }
          }
    }

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    A mon avis c'est parceque les 2 classes "Champ" ne sont pas les même.

    Ton webservice attend un TonWebService.Champ, alors que toi tu insères un TonNamespace.Champ.
    En fait il faut que tu te fasses un convertisseur de type TonChampToWSChamp()...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    Merci !! Et comment je fais ca ??

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Ben ca depend un peu comment tu as structué ton code,

    mais par exemple tu peux décider d'ajouter une classe "Convertisseur", et dedans tu mets une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static WSChamp TonChampToWSChamp(TonChamp tonChamp)
    {
    WSChamp wsChamp=new wsChamp();
    wsChamp.propriete1=tonChamp.propriete1;
    wsChamp.propriete2=tonChamp.propriete2;
    wsChamp.propriete3=tonChamp.propriete3;
     
    return wsChamp
     
    }

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    Et comment je lutilise coté client ?? , dslee mais je ne comprens pas vriament la logique.

    Pour ce qui est de la logique de mon programme jai implémenté ma classe champ coté serveur.

    je nai aucune classe Champ au niveau du client pour dire que lorsque je fais List<Champ> j'instancie bien un objet de type MonServcice.Champ .

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Tu n'as donc pas créé coté client de classe champ?

    Ainsi lorsque tu fais "ChampsSelect.Tag as List<Champ>" , le champ désigne bien une classe champs généré par la réference de service?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    oui oui .Mais jai trouvé la réponse à mon pb dans le message d'erreur. en fait faut convertir toute les listes en tableau ... je ne sais pas pourquoi en faisant cela ca a marché .Merci encore pour ton aide !

  8. #8
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Dans les propriétés de la référence de ton service dans ton projet qui consumme le WCF, tu peux modifier ça et dire quel type recevoir en sortie (Array, List, IEnumerable, etcc ...)
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    haaa !??! et comment ca se fait lool ??

  10. #10
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Ben parce que ton WebService est pas relatif a .Net, il renvoie juste plusieurs objets les uns à la suite des autres. Ensuite, c'est .Net qui te mache le travail en les mettant dans une structure de données .Net.

    Il est tellement sympa qu'il te laisse choisir le type de la structure de données
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par MaximePalmisano Voir le message
    Ben parce que ton WebService est pas relatif a .Net, il renvoie juste plusieurs objets les uns à la suite des autres. Ensuite, c'est .Net qui te mache le travail en les mettant dans une structure de données .Net.

    Il est tellement sympa qu'il te laisse choisir le type de la structure de données
    Ok cest compris ,mais je ne sais pas comment faire pour configurer de telle sorte quil me renvois une liste et non un tableau.je suis aller dans les les config de la reference cote client et jai modifier la signature des methodes.Le soucis cest qu'a chaque fois que je fais une mise a jour du service , je dois encore remodifier ... il n ' y a t il pas un moyen plus simple de faire tout ca ?? help !!

  12. #12
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Ben clique droit sur la référence du WebService ... Je t'ai tout expliqué dans mon message, il te suffit juste de chercher un petit peu.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    Merci !!! ca roule !

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

Discussions similaires

  1. Application Client/serveur : erreur
    Par Wim88 dans le forum Général Java
    Réponses: 11
    Dernier message: 08/10/2014, 09h43
  2. Réponses: 10
    Dernier message: 17/10/2012, 16h48
  3. Indy client & serveur erreurs
    Par uriotcea dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/08/2006, 02h02
  4. Méthode de dialogue client/serveur
    Par MisterFreeze dans le forum C++
    Réponses: 3
    Dernier message: 06/01/2006, 22h31
  5. méthode de cryptage, appli client/serveur
    Par sir_gcc dans le forum Développement
    Réponses: 1
    Dernier message: 14/09/2005, 12h13

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