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 :

Pousser des donnees depuis le serveur vers plusieurs clients avec WCF


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2008
    Messages : 53
    Par défaut Pousser des donnees depuis le serveur vers plusieurs clients avec WCF
    Slt tt le monde,
    Je suis débutante avec les WCF et je voudrais savoir comment puis-je invoquer un service WCF a partir de ma couche métier sans être un client et donc sans ouvrir un canal.
    en fait, je reçois des informations en temps réel depuis un serveur(Socket), je construis des objets puis je dois les envoyer a plusieurs clients au niveau de mon réseau local.
    je veux donc avoir un service qui gère cet envoi de manière automatique sans l'intervention du client.
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Pas très clair. Tu veux que quand le serveur reçoit une info il la transmette automatiquement au client sans que celui vienne la demander explicitement ?

    Si c'est ça alors tu trouveras un début de réponse ici: http://badger.developpez.com/tutorie...atez-avec-WCF/
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je crois que ça dépend du protocole utilisé par le canal. A priori ce n'est pas possibles avec les protocoles basés sur HTTP, puisque c'est toujours le client qui doit initier une transaction (sauf peut-être en WSDualHttpBinding).
    Dans tous les cas, il faut que le client soit déjà connecté : le serveur ne peut pas initier la connection.

    Pour que ça puisse marcher, il faut :
    - utiliser un canal qui supporte le mode duplex
    - implémenter un contrat de rappel (callback contract) côté client (cf. le tuto de badger)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2008
    Messages : 53
    Par défaut Pb du timeout
    Bjr,
    en fait g résolu mon pb de push mais la g un tout petit pb.
    En fait, je travaille avec WCF et bien sur les contrats de rappel(callback).
    Le pb c ke quand par exemple je lance seulement le serveur sans le client
    après le d'écoulement du time out que g spécifié dans le app.config, mon pg génère une exception genre :

    "il n'ya plus d'espace dans la fenetre d'envoi.pas de réponse pendant le timeout"

    Cette erreur se génère au niveau du callback car normalemnt lorsque le serveur déclenche un événement il doit faire appel au client et vu que ce dernier ne réponds pas, le serveur affiche ce message et il l'affiche même lorsque le client ne fait rien genre il demande pa de service.
    Donc je veux savoir comment puis_je résoudre ce pb, je veux que mon serveur fonctionne normalement sans se soucier du client qu'il soit en écoute ou non

  5. #5
    Membre éclairé Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Par défaut
    Le problème du timeout sur les callbacks WCF n'a pas de solution idéale ou parfaite, on ne peut que contourner le problème.
    Je vois deux solutions:

    Soit tu mets le plus grand timeout possible.
    Soit ton client ping le serveur à des intervalles de temps réguliers

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2008
    Messages : 53
    Par défaut
    La première proposition ne m'arrange pas car mon serveur tourne 24/24.
    Concernant la deuxième proposition,je ne l'ai pas trop comprise, qu'est ce que je vais gagner de faire un ping alors que je sais que mon serveur tourne et mon soucis concerne les clients, car si ces derniers ne sont pas connectes ou ne répondent pas,c'est la que g un problème

Discussions similaires

  1. Envoyer des fichiers du serveur vers plusieurs postes
    Par alucia dans le forum Windows Communication Foundation
    Réponses: 7
    Dernier message: 31/08/2012, 16h30
  2. Réponses: 2
    Dernier message: 03/05/2011, 15h54
  3. Pousser des données depuis le serveur vers le client dans le header HTTP
    Par Barsy dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 31/12/2010, 14h03
  4. récuperer des donnees d'1 serveur vers la base
    Par choupine dans le forum Oracle
    Réponses: 3
    Dernier message: 13/11/2006, 11h43

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