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 :

WCF et objet


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut WCF et objet
    Bonjour,

    Je suis entrain de developper un service WCF utilisant plusieurs interfaces:
    - IConnexion
    - IPreparation

    Mon interface Iconnexion me permet de connecter mon utilisateur et me renvoye un objet utilisateur.

    Mon interface IPreparation me permet de connaitre les preparations que doit faire mon utilisateur. Pour cela j'aimerais lui repasser mon objet utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        public interface IPreparation
        {
            [OperationContract]
            DataSet ListePreparation(Utilisateur muser);
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        public interface IConnexion
        {
             [OperationContract]
            Utilisateur FConnexion(string login, string pwd, string emi, string version);
     
     
            [OperationContract]
            string FDeconnexion(Utilisateur muser);
        }
    Le probleme c'est que dans mon appli winform j'ai ajoute 2 service reference :
    - SRConnexion
    - SRPreparation
    Du coup
    SRConnexion me renvoye un objet utilisateur de type SRConnexion.utilisateur
    SRPreparation attend un objet utilisateur de type SRPreparation.utilisateur

    Comment faire pour convertir mon objet? Ou faire comprendre a mon application que c'est bien le meme type d'objet?

    D'avance merci,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Vu que tu utilises les technos .Net côté client et côté serveur alors le plus simple pour toi et ainsi d'éviter ce problème de classe identique en structure mais dans des fichiers (proxy) différents est de mettre tous tes contrats de données dans une DLL à part entière en y intégrant aussi les différents contrats de service sans les classes d'implémentation.

    Une fois cette DLL créée ! Tu passeras la classe ChannelFactory pour créer tes proxys pour tes deux services et étant donné que la nouvelle DLL est commune alors les instances utilisateur reçu des deux services seront les même appartenant à la même classe.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut
    Merci,
    mais euh tu aurais un exemple parce que je suis pas sur d'avoir tout compris.
    J'ai bien cree une dll avec ma classe mais ca marche pas mieux.
    Impossible de convertir le type SRConnexion en Utilisateur
    :s

  4. #4
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut
    Bon je me suis fait une fonction qui convertit mes objets.
    Par contre je suis preneur si tu as un exemple de ton explication.

    Merci,

  5. #5
    Invité
    Invité(e)
    Par défaut
    Voici les étapes à suivre :
    1. tu crées une bibliothèque de classes. Dans cette bibliolthèque doit regrouper tous les contrats de données ainsi que tes interfaces IConnexion et IPreparation.
    2. au lieu de d'ajouter des services références, tu fournis la DLL que t'as créée à l'étape 1 aux clients et ces derniers doivent passer par la classe ChannelFactory pour créer tes deux proxy.
    3. Si la classe Utilisateur est la même qui est utiliser côté serveur, alors tu n'auras pas de problème côté client.


    Dis-moi ce que t'as pas vraiment compris.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut
    Ah j'avais pas mis mes deux interfaces dans la dll.
    Bon je reteste et je te tiens au courant.

    Merci.

Discussions similaires

  1. [WCF] Limitation dans la taille des objets
    Par dev01 dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 30/08/2012, 09h18
  2. Réponses: 4
    Dernier message: 07/04/2010, 21h21
  3. WCF et envoi d'objet
    Par duaner dans le forum Windows Communication Foundation
    Réponses: 5
    Dernier message: 22/11/2007, 15h42
  4. WCF et objets
    Par kazoumoulox dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 01/06/2007, 09h36

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