Bonjour , je suis débutant en programmation et je developpe actuellement deux applications qui doivent communiquer entre elles (de manière bi directionnelle) au moyen de messages, et ce , sur le meme pc.

Après beaucoup de recherches , j'ai vu que le .Net Remoting était conseillé , j'ai donc essayé de mettre en place cette solution mais j'ai quelques problemes.

Tout d'abord le problème pour accéder à l'objet local sur le serveur, je ne vois pas comment faire.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
 
   static void Main(string[] args)
        {
            try
            {
                RegisterChannel("SRPServer");
                    RemotingConfiguration.RegisterWellKnownServiceType(
                          typeof(remote),
                          "RemoteOperation",
                          WellKnownObjectMode.Singleton);
                Console.WriteLine("Le serveur a démarré avec succés .... ");
                Console.Read();
 
            }
 
 
            catch (Exception se)
            {
                Console.WriteLine("Connect error : " + se);
                Console.Read();
                Thread.Sleep(2000);
 
            }
        }
 
 
     static void RegisterChannel(string name)
        {
 
            Hashtable properties = new Hashtable();
 
            properties.Add("name", name);
 
            properties.Add("portName", name);
 
            properties.Add("typeFilterLevel", "Full");
 
            IpcChannel channel = new IpcChannel(properties,
 
                new BinaryClientFormatterSinkProvider(properties, null),
 
                new BinaryServerFormatterSinkProvider(properties, null));
 
            ChannelServices.RegisterChannel(channel);
 
        }
Donc là si j'ai tout compris , je register un channel pour communiquer , je publie un objet de type Remote , qui s'appellera RemoteOperation dans le mode Singleton.
Mais après comment accéder a cet objet sur le serveur ?
J'y arrive avec le client grâce a mgr = (Iremote.Iremote)Activator.GetObject(typeof(Iremote.Iremote ), "ipc://SRPServer/RemoteOperation"); , mais à quoi bon modifier un objet si il n'est utilisable que sur le client ?


Mon deuxième problème se situe au niveau des evenements.
J'aimerais pouvoir échanger des messages dans les 2 sens , et donc déclencher un événement lorsqu'une méthode est appellée par le serveur ou par le client.

J'en demande beaucoup je sais mais je suis un peu perdu là


Merci d'avance pour tout


PS : Ha oui , si vous trouvez le .NET Remoting non approprié pour ce que je veux faire , n'hésitez pas a me le dire ^^ (J'ai notamment lu une doc sur le COM+ et le Message Queuing )