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 :

[C#] WCF et ouverture de fenêtre


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 32
    Par défaut [C#] WCF et ouverture de fenêtre
    Bonjour,
    Je viens vous voir car j'ai un petit soucis depuis ce matin...

    Je suis en train de travailler sur deux projets distincts, que je veux relier.
    J'ai donc utiliser les WCF.

    Le problème est que l'un de mes programmes doit pouvoir ouvrir une fenêtre contenu dans l'autre, via WCF justement.

    J'ai procédé d'une façon un peu particulière :
    - une instance du programme 1 est créée, elle entraîne la création de LA form
    - la form est immédiatement réduite (Hide() )
    - une instance du programme 2 envoi une requête via WCF pour faire apparaître la form (Show())
    - Et, miracle, la form est affichée en deux exemplaires...

    J'ai aussi essayé de créer directement la form (new... puis show() ) mais dans ces cas-là, elle charge indéfiniment dans le vide (form blanche, et icone de chargement).

    J'ai de plus tester mes fonctions directement à partir du programme1 et elles fonctionnent... (en appelant les fonctions appelées par le serveur).

    Je suis preneur de toutes vos idées, merci d'avance .

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 415
    Par défaut
    Bonjour,

    Il pourrait y avoir plein de raisons à ton problème qui sont indépendantes de wcf... ?

    Peux-tu nous en dire un peu plus ? Comment tout ça est réalisé ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Par défaut
    Appelles-tu bien la méthode Show dans le Thread UI (via InvokeRequired / Invoke) ?

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Qu'est ce qu'un Winform vient faire dans un project WCF ?

    *************************
    *Client WinForm/WebForm/WPF *
    *************************
    ^
    *
    *
    *
    *************************
    *WCF Service *
    *************************
    ^
    *
    *
    *
    *************************
    *Business Layer *
    *************************

    Et ainsi de suite quelle est l'architecture de ton application ?
    C'est pour cette raison que je ne comprends pas qu'un Winform vienne se balader dans un projet WCF.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  5. #5
    Membre averti

    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 32
    Par défaut
    Déjà, désolé du mois de retard. J'avais pas mal de chose à faire (rapport/soutenance de stage, vacance etc.).
    Je suis donc de retour. Et je n'ai pas réussi à résoudre le problème.

    Je vais essayer d'être plus clair, mais c'est pas gagné

    Donc il existe une application fonctionnant sous Windows, que j'ai en partie programmé. C'est une application assez basique, qui contient plusieurs Windows Form, chacune correspondant à une fonction de l'application.

    J'ai créé en parallèle à cela une barre que j'ai intégré à la barre de tâche de Windows, qui à pour but de manipuler l'application ci-dessus.

    Pour que la communication entre les deux s'effectuent, j'ai choisi d'utiliser les WCF. Ainsi, lorsque je clic sur un des bouton de la barre, une action doit s'effectuer sur l'application (en l'occurrence ouvrir une des form qui est réduite).


    Au niveau du fonctionnement
    .
    - Le service WCF se trouve dans un projet à part.

    - L'application et la barre possèdent un client chacune

    - Deux variable sont placées dans la classe contenant le service (un booléen et un string)

    - Lors du clic sur un bouton, le client de la barre appelle une fonction du service, qui va modifier le string en fonction de l'action ("ouvrirPage" par exemple), et le booléen(qui passe à vrai).

    - Du coté application, un thread s'exécute et vérifie l'état du booléen. Si il est à vrai, alors une modification a eu lieu. Il récupère alors la variable string et passe le booléen à false. Et en fonction du string il exécute tel ou tel action.

    Ce qu'il se passe
    La form réduite s'ouvre en un/deux ou trois exemplaires, alors que je n'appelle qu'une fois la fonction.

    Voilà je crois que j'ai fais le tour, si il vous faut d'autre info, n'hésitez pas, je répondrais avant 1 mois cette fois promis :°

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Je comprends en gros, ton Service WCF doit norifier une application WinForm ?
    Il faut que tu regardes du côté des callbacks contrats.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

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

Discussions similaires

  1. Problème d'ouverture de fenêtre avec ie6.
    Par volontier dans le forum IE
    Réponses: 2
    Dernier message: 11/10/2006, 15h16
  2. [MFC] problème ouverture de fenêtre
    Par pytpyt dans le forum MFC
    Réponses: 1
    Dernier message: 19/04/2006, 14h05
  3. [débutant] problème de maintien d'ouverture de fenêtre
    Par Antigonos Ier Gonatas dans le forum C++
    Réponses: 6
    Dernier message: 02/04/2006, 12h12
  4. Ouverture pleine fenêtre
    Par hisy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2006, 09h32
  5. ouverture de fenêtre ftp
    Par sparis dans le forum Développement
    Réponses: 3
    Dernier message: 29/10/2005, 02h44

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