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 probléme de manipulations des objets


Sujet :

Windows Communication Foundation .NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut WCF probléme de manipulations des objets
    Bonjour,

    Étant un développeur .NET avec 2 ans d’expérience ,j'ai commencé à apprendre WCF et là un grand souci.
    Je ne comprends pas comment je doit traiter les différents objets etc
    je vous donne l’exemple ci-dessous

    ma classe PERSON
    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
     
    Imports System.ServiceModel
    Imports System.Runtime.Serialization
     
        <DataContract()> _
        Public Class Person
            Private _name As String
            Private _adress As String
     
            <DataMember()> _
            Public Property Nom() As String
                Get
                    Return _name
                End Get
                Set(ByVal value As String)
                    _name = value
                End Set
            End Property
     
        <DataMember()> _
            Public Property Adresse() As String
            Get
                Return _adress
            End Get
            Set(ByVal value As String)
                _adress = value
            End Set
        End Property
        End Class
    Mon interface

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <ServiceContract()> _
    Public Interface IServiceConvertor
     
        <OperationContract()> _
        Function EuroToUsDollars(ByVal amount As Decimal) As Decimal
     
        <OperationContract()> _
        Function UsDollarsToEuros(ByVal amount As Decimal) As Decimal
     
        <OperationContract()> _
        Function GetPerson() As Person
     
    End Interface
    Ma classe de SERVICE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Public Class ServiceConvertor
        Implements WCFconvertor.IServiceConvertor
     
     
        Public Function GetPerson() As Person Implements IServiceConvertor.GetPerson
            Dim p As New Person()
            p.Nom = "mla"
            p.Adresse = "liege"
            Return p
        End Function
     
    End Class
    Dans un projet à part j'ai créer le client

    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
     
    Dim myChannelFactory As ServiceModel.ChannelFactory(Of WCFclient.IServiceConvertor) = Nothing
            Dim myService As WCFclient.IServiceConvertor
     
            Try
     
                myChannelFactory = New ServiceModel.ChannelFactory(Of WCFclient.IServiceConvertor)("ConfigurationHttpCurrency")
                myChannelFactory.Endpoint.Address = New ServiceModel.EndpointAddress(New Uri("http://localhost:8018/CurrencyService"))
                myService = myChannelFactory.CreateChannel()
     
                Dim p As Person = myService.GetPerson()
                MsgBox(p.Nom + "   " + p.Adresse)
     
            Catch ex As Exception
                If Not myChannelFactory Is Nothing Then
                    myChannelFactory.Abort()
                End If
     
                Me.txtResult.Text = "An error occured..."
     
            End Try
    PROBLEME:
    La connexion se passe très bien, l'appel à la fonction GetPerson aussi
    mais les propriétés de l'objet p que j'ai récupère sont à NOTHING

    Oû est mon probleme ?

    Merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Il y a une subtilité au niveau du partage du datacontrat entre le service et le client.

    Ma question est pourquoi tu te casses la tête à créer un channel etc côté client plutôt que de générer un proxy ?

    Récemment j'ai générer un proxy avec svcutils en utlisant des paramètres particuliers pour le partage du datacontrat entre le service et le client, c'est peut-être à ce niveau qu'il te faut creuser un peu plus.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par hegros Voir le message
    Il y a une subtilité au niveau du partage du datacontrat entre le service et le client.

    Ma question est pourquoi tu te casses la tête à créer un channel etc côté client plutôt que de générer un proxy ?
    Car j'ai vu un exemple dans un tutoriel WCF sur ce site.
    Ca veut dire quoi un proxy etc
    car je suis un peu perdu et je ne comprends pas comment communiquer en WCF ,nottament echanger les données par des objets.

    Citation Envoyé par hegros Voir le message
    Récemment j'ai générer un proxy avec svcutils en utlisant des paramètres particuliers pour le partage du datacontrat entre le service et le client, c'est peut-être à ce niveau qu'il te faut creuser un peu plus.
    Oû je peut trouver les infos concernant svcutils etc

    Merci

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Citation Envoyé par mcmaxis Voir le message
    Ca veut dire quoi un proxy etc
    En gros cela encapsule tout ce que tu as fais avec le channel factory et cela te génére le fichier xml de configuration client. Du coup au niveau du code tu te retrouves à écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ClassProxyAutoGenerer MonProxy = new ClassProxyAutoGenerer ();
    MonProxy.GetPerson();

    Citation Envoyé par mcmaxis Voir le message
    car je suis un peu perdu et je ne comprends pas comment communiquer en WCF ,nottament echanger les données par des objets.

    Oû je peut trouver les infos concernant svcutils etc

    Comme tu t'y prends c'est bon c'est comme cela que l'on communique. La spécificité vient des datacontrat/datamember qu'il faut partager entre service et client.

    Pour SvcUtils fais une recherche sur google tu vas trouver pleins de choses

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci bcp Hegros
    J'ai réussi à générer les fichiers proxy et j'ai compris comment ca marche maintenant!!!

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

Discussions similaires

  1. problème de manipulation des Long
    Par nouknouk dans le forum Langage
    Réponses: 4
    Dernier message: 12/09/2007, 14h51
  2. Réponses: 4
    Dernier message: 21/02/2007, 18h08
  3. Réponses: 16
    Dernier message: 30/01/2007, 01h20
  4. Comment Manipuler des objets dans une liste de type TList ?
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 1
    Dernier message: 02/11/2006, 16h40
  5. Réponses: 13
    Dernier message: 09/05/2006, 17h30

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