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

C# Discussion :

[2.0][C#] Transmission d'event entre applications .NET


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut [2.0][C#] Transmission d'event entre applications .NET
    Bonjour,

    Je suis en C# .NET et j'ai une application en Service Windows qui doit communiquer une informations à une autre applications via un 'event'.

    Est-ce qu'il faut que je récupére la file de messages de mon application réceptrice afin que mon service poste l'event dedans?

    Si c'est bien cela, il y a-t-il une manière simple de récupérer cet identifiant de file de message?

    Merc de votre aide

    Coucoufle

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Précise ce que tu entends par 'event'. Si c'est une Event Win32, c'est indépendant des messages, c'est un objet kernel de synchro.
    Voir CreateEvent, SetEvent, ...
    http://msdn.microsoft.com/library/en...nt_objects.asp

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Je suis pas trop expérimenté, excusez des imprécisions.

    Je voudrais que mon programme émetteur puisse générer des informations qui puissent être récupérées par l'appli consommatrice par ce type de prototype:

    public delegate void NewTachoValueEventHandler(VehicleInterfaceManager sender, NewTachoValueEventArgs eventArgs);

    Je ne sais pas comment créer le lien entre les 2 applis.

    Est-ce plus clair?

  4. #4
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    C'est un event .Net alors... Les 2 applis sont des applis .Net ?
    Regarde du côté de l'IPC (inter-process communication).

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Oui je suis en .NET et les 2 applis sont en .NET.

    Les IPC permettent ce genre de communications, je connais bien UNIX et j'ai déja utilisé ces moyens. Mais ma question est de savoir si les 'event' .Net comme je les ai indiqués:

    public delegate void NewTachoValueEventHandler(VehicleInterfaceManager sender, NewTachoValueEventArgs eventArgs);

    permettent uniquement une communication intra-application (ex entre deux forms) ou peuvent être transmis entre applications distinctes.

    Il semble que oui, mais c'est un peu compliqué pour moi qui ne connait pas COM, qu'il faille utiliser des macro BEGIN_OBJECT_MAP à partir d'applis en VC++ par exemple pour récupérer les ID des process avec lesquels on veut communiquer. Est-ce qu'en .NET c'est également aussi compliqué de mettre en oeuvre la commmunication?

    Cordialement,

  6. #6
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Les event sont intra-process, mais .Net propose ses propres solutions d'IPC. J'y connais rien, mais au hasard:
    http://msdn2.microsoft.com/en-us/lib...nnels.ipc.aspx
    Te fatigue pas avec COM. Je redirige vers les forums spécialisés.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    Te fatigue pas avec COM. Je redirige vers les forums spécialisés.
    ? C'est la galère à mettre en oeuvre COM ? c'est viellot ?

    C'est donc les IPC les plus aptes à faire communiquer deux applis?

  8. #8
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    IPC c'est juste une terme. COM est un moyen de faire de l'IPC. Y'en a d'autres : sockets, shared memory, pipe, messages, etc...
    Vu qu'il s'agit de 2 applis .Net, il est judicieux d'utiliser une solution .Net : c'est prévu pour.
    COM c'est vieillot oui, et complexe oui.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Merci pour toutes ces informations.

    Cordialement,

    Coucoufle

  10. #10
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Je tente donc une utilisation des IPC .NET

    System.Runtime.Remoting.Channels.Ipc n'est pas une librairie reconnue par mon Visual C# Express. J'ai pourtant le .NET2.0. C'est du à une limitation d'Express?

    Pouvez-vous m'aider?

    Merci

  11. #11
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    381
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 381
    Par défaut
    Hello,

    rien à voir avec une ta version de Visual Studio. Tu utilises .NET 2.0, donc tu as accès à toutes les library.

    Il te suffit d'ajouter dans ton projet une référence vers System.Runtime.Remoting.

    Bye

Discussions similaires

  1. WCF-"Définir les types de données transmissibles entre applications"
    Par ralf91 dans le forum Windows Communication Foundation
    Réponses: 5
    Dernier message: 15/02/2010, 18h10
  2. Transmission de sessions entre deux applications tomcat
    Par nicorama dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 09/12/2007, 13h56
  3. [2.0][C#] Transmission d'event entre applications .NET
    Par coucoufle dans le forum Windows
    Réponses: 5
    Dernier message: 10/11/2006, 14h12
  4. Réponses: 3
    Dernier message: 30/03/2004, 09h38
  5. Simulation de transmission de paquet entre différent réseaux
    Par MelloW dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 19h51

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