fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
21 juil. 2006 à 11:06
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDerniè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 ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 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.
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 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 ?
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 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#
Vous n’avez pas trouvé la réponse que vous recherchez ?
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 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.