Objet unique

Résolu
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 21 juil. 2006 à 11:06
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 21 juil. 2006 à 12:19
Bonjour,

Je suis en .NET 1.1
Je me suis basé sur le snipper singleton de Nikoui mais ca ne marche pas.

Ce que je veux, en gros, c'est un singleton multiprocess.

J'ai créé une DLL qui fait plein d'opérations (scrutation du réseau, lecture d'un fichier de conf .....).
J'aimerais lancer plusieurs IHM, et je voudrais n'avoir qu'une seule instance de ma DLL pour avoir les memes valeurs dans toutes les IHM.
Autre problème, mes IHM ne sont pas obligatoirement de mêmes type. Je m'explique, dans l'idéal (vu que je scrute un réseau) je voudrais avoir mon IHM (WinForm) et aussi une réprésentation de mon réseau dans l'exporateur de Windows (avec les Shell Extension). Donc 2 IHM qui affichent les mêmes données en temps réel.
J'ai choisi MVC (Model View Controller) pour résoudre la problématique d'affichage des données en temps réel sur plusieurs IHM. Le Modèle et le Contrôleur étant dans la DLL.

Donc comment faire pour que toutes les IHM voient le même objet sans qu'il soit dupliqué pour chaque IHM ? Et bien sûre, est-ce possible ?

Merci.

6 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
21 juil. 2006 à 11:16
Salut

Je pense que tu peux te tourner vers le Remoting

Petite piste :
http://www.dotnet-tech.com/tutoriels/remoting/

Mx
MVP C# 
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
21 juil. 2006 à 12:09
Salut,

Tu trouveras ici des informations sur les méthode d'IPC disponibles sous Windows : Interprocess Communications
Pour le firewall, tu devrais limiter les dégats en ne demandant l'écoute des connexions entrantes que sur le localhost, la plupart des firewalls logiciels ont dû prendre en compte le fait que beaucoup d'applications utilisent ce mode d'IPC.

/*
coq
MVP Visual C#
CoqBlog
*/
3
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
21 juil. 2006 à 11:26
Ok merci, je vais explorer cette piste.
J'avais regarde .NET Remoting pour d'autres choses. C'est du client/serveur, ce qui veut dire, dans mon cas, que la DLL est le serveur, il faut donc que je la transforme en EXE ?
Et si je ne veux pas que mon réseau soit scruté sans IHM, il faut que je lance et que j'arrête le serveur à partir des IHM.
Je me trompe ?
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
21 juil. 2006 à 11:31
Oui, il va falloir avoir un executable qui tourne en serveur et qui utilise ta dll.
Ou alors faire qu'une des tes 2 IHMs embarque le serveur, et l'autre s'y connecte.
Ou encore, un service qui demarre avec une de tes 2 applications.

C'est a toi de voir ce qui te conviendrait le mieux.

Mx
MVP C# 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
21 juil. 2006 à 11:54
Dernière petite question et pas des moindres qui peut remettre en question le reste.
C'est une application grand public et se pose le problème de Mme Michu qui va installer mon soft.
Mon chef veut éviter l'ouvert de port ethernet(tpc ou udp) pour éviter tout problème avec les firewall, en gros Mme Michu bloque le port (parce son mari lui a dit de ne rien autoriser) et hop mon appli ne marche plus .
Dans mon cas tout est en local sur un PC, et dans l'hypothèse que ma DLL soit dans le futur un EXE. A part .NET Remoting, comment peut-on faire de la communication inter-processus sur une même machine sans ouvrir de port. Est ce possible ?
Sinon, je vais essayer de faire plier mon chef et lui dire que c'est pas possible et qu'il faut ouvrir un port.

(Excusez mon ignorance )

Merci.
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
21 juil. 2006 à 12:19
Merci pour votre aide.

C'est vai que Google retourve des exemples de comm inter process à la pelle (mais sous Linux).
0
Rejoignez-nous