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

Services Web Discussion :

Service WCF : exposer les méthodes du contrat de données au client


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Par défaut Service WCF : exposer les méthodes du contrat de données au client
    Bonjour à tous,

    Cette question a été posée pas mal de fois sur divers forums: apparemment seuls les membres du contrat de données, et pas les méthodes, peuvent être exposées au client.

    Or, dans mon application, j'ai un service WCF qui me renvoie une classe représentant une forme de DataTable, avec un membre Rows. J'aimerais implémenter dans cette classe des méthodes permettant de trouver certains enregistrements via des requêtes linq.

    A priori, lorsque le client reçoit cette classe, ces méthodes devraient pouvoir être disponibles, mais il n'en est rien. Implémenter tout cela du côté du client lui-même revient à reporter une partie du business sur le client et s'il faut le faire via des nouveaux appels au service (via une méthode qui prendrait en paramètre les Rows avec un critère de rechercher et qui renverrait une nouvelle liste de Rows filtrée), cela va alourdir les performances.

    Que me suggérez-vous ?

    D'avance merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par fterf Voir le message
    A priori, lorsque le client reçoit cette classe, ces méthodes devraient pouvoir être disponibles, mais il n'en est rien..
    Normal le contrat de service est le seul a avoir le droit d'exposer des services donc des opérations de contrat et les contrats de données quant à eux sont là pour exposer leurs membres.

    Citation Envoyé par fterf Voir le message
    Implémenter tout cela du côté du client lui-même revient à reporter une partie du business sur le client
    Tu as totalement raison c'est la méthode à éviter.Toujours privilégier la maintenabilité de l'application et penser à ton prochain, celui qui reprendra le code après toi.

    Citation Envoyé par fterf Voir le message
    et s'il faut le faire via des nouveaux appels au service (via une méthode qui prendrait en paramètre les Rows avec un critère de rechercher et qui renverrait une nouvelle liste de Rows filtrée), cela va alourdir les performances.
    Je ne pense pas que tu ais besoin de faire cela. Tout dépend de ce que fera la question à la question suivante : as-tu besoin de certaines données présentes uniquement sur le serveur pour faire ce filtrage ?
    • Oui : Alors tu rapatries toutes les données vers le serveur grâce à de nouvelles opérations de services.
    • Non : Alors la logique de filtrage doit se faire côté client parce que t'as ce dont t'as besoin et pas du serveur. Quel que soit le nombre de client cette même logique de filtrage sera partagée même s'il faut te créer une DLL à part entière regroupant ces types de fonctions et qui sera intégrée dans une application Silverlight, WPF, ASP.Net ou WIndows Form

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Par défaut
    Bonjour,

    Effectivement merci c'est comme ça que j'ai fait (deuxième solution). J'ai créé une librairie Silverlight qui contient des entités évoluées qui me permettent de filtrer les données que je récupère du service WCF.

    Cela permet d'obtenir les données en mémoire du côté client et de pouvoir les manipuler très rapidement.

    Merci.

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

Discussions similaires

  1. probléme avec service WCF et les fichiers volumineux
    Par kikov dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 08/07/2014, 10h22
  2. Comment exposer les méthodes d'une DLL sans com
    Par Ekinx93 dans le forum Débuter
    Réponses: 12
    Dernier message: 24/10/2011, 18h35
  3. Domaine Service WCF - retourner les exceptions au client
    Par s.toubal dans le forum Silverlight
    Réponses: 5
    Dernier message: 21/06/2011, 12h04
  4. Méthode toString d'une classe exposée par mon service WCF
    Par duvelmoi9 dans le forum Windows Communication Foundation
    Réponses: 5
    Dernier message: 24/12/2010, 00h16
  5. Votre opinion sur les méthodes de comparaison de données ?
    Par katanaenmousse dans le forum Débuter
    Réponses: 3
    Dernier message: 15/08/2010, 09h41

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