Bonjour à tous,

Essayer de créer un objet distant via le Remoting...je suis confronté à un problème au niveau du client. J'initialise la configuration via
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 RemotingConfiguration.Configure("Client.Config");
Lorsque je souhaite utiliser une instance de l'objet distant, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ChatCoordinator chatCenter = new ChatCoordinator();
Au niveau du fichier de config, en voici le contenu :
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
 
<configuration>
  <system.runtime.remoting>
    <application>
      <client>
        <wellknown
          type="ChatCoordinator, ChatCoordinator"
          url="http://localhost:8080/Chat"
          />
      </client>
 
      <channels>
        <channel ref="http"
                 port="0"
                 />
      </channels>
    </application>
  </system.runtime.remoting>
</configuration>
Apparement lorsque j'essaie d'instancier un objet de type ChatCoordinator

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ChatCoordinator chatCenter = new ChatCoordinator();
chatCenter.Submission += new SubmissionEventHandler(chatCenter_Submission); //Ici il y a un prioblème
L'exception levée est la suivante :
Impossible de charger le fichier ou l'assembly 'ChatCoordinator' ou une de ses dépendances. Le fichier spécifié est introuvable.

Pourtant j'ai :
  • Mise le fichier ChatCoordinator.dll cointenant la classe ChatCoordinateur au niveau du serveur
  • Mise le fichier ChatCoordinator.dll cointenant la classe ChatCoordinateur au niveau du client


Au niveau de l'assembly ChatCoordinator :
Voici son code :

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Remoting;
 
 
    [Serializable]
    public class SubmitEventArgs : EventArgs
    {
        private string _string = null;
        private string _alias = null;
 
        public SubmitEventArgs(string contribution, string contributor)
        {
            this._string = contribution;
            this._alias = contributor;
        }
 
        public string Contribution
        {
            get
            {
                return this._string;
            }
        }
 
        public string Contributor
        {
            get
            {
                return _alias;
            }
        }
    }
 
    public delegate void SubmissionEventHandler(object sender, SubmitEventArgs submitArgs);
 
 
    public class ChatCoordinator : MarshalByRefObject
    {
        public ChatCoordinator()
        {
            Console.WriteLine("ChatCoordinator créée. Instance :" + this.GetHashCode().ToString());
        }
 
        public override object InitializeLifetimeService()
        {
            return null;
        }
 
        public event SubmissionEventHandler Submission;
 
        public void Submit(string contribution, string contributor)
        {
            Console.WriteLine("{0} a écrit : {1}", contributor, contribution);
            SubmitEventArgs e = new SubmitEventArgs(contribution, contributor);
 
            if (Submission != null)
            {
                Console.WriteLine("Diffusion en cours...");
                Submission(this, e);
            }
        }
    }
D'avance j'espère que vous pourrez m'aider...

Amis du vendredi, Merci