Bonjour

j'essaye de mettre en place un client-serveur en remoting.
Lorsque j'instancie mon objet distant (de type IADMADSearcher ) et que j'appelle une méthode pour la première fois cela fonctionne. Mais dès que je fait un second appel de méthode, je me retrouve avec l'erreur
Une connexion existante a dû être fermée par l'hôte distant
Mon serveur
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
 
 
    // Création d'un nouveau canal d'écoute sur le port 1069
            IChannel channel = new TcpChannel(1069);
                // Enregistrement du canal dans l'annuaire
                ChannelServices.RegisterChannel(channel,false);
                 //Démarrage de l'écoute en exposant l'objet en Singleton
                RemotingConfiguration.RegisterWellKnownServiceType(
                    typeof(ADMServer.RemoteOperations.GbbRemoteOperations),
                    "RemoteOperation",
                    WellKnownObjectMode.Singleton);
 
                RemotingConfiguration.RegisterWellKnownServiceType(
                typeof(ADMServer.Global.ADMObjManaged),
                "ADMObjManaged",
                WellKnownObjectMode.Singleton);
 
                RemotingConfiguration.RegisterWellKnownServiceType(
                typeof(ADMServer.Ugm.UgmObjManaged),
                "UgmObjManaged",
                WellKnownObjectMode.Singleton);
 
 
                RemotingConfiguration.RegisterWellKnownServiceType(
                typeof(ADMServer.Global.ADMADSearcher),
                "ADMADSearcher",
                WellKnownObjectMode.Singleton);
 
                RemotingConfiguration.RegisterWellKnownServiceType(
                typeof(ADMServer.RemotingModule),
                "RemotingModule",
                WellKnownObjectMode.Singleton);
client

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
static IADMADSearcher _remoteADSearcher;
 if (_remoteADSearcher == null)
    _remoteADSearcher = GetIADMADSearcher(); 
 
 public static IADMADSearcher GetIADMADSearcher()
{
 IADMADSearcher objIADMADSearcher;
objIADMADSearcher = (IADMADSearcher)Activator.GetObject(typeof(IADMADSearcher), "tcp://" + ADManagementIHM.Properties.Settings.Default.ServerName + ":" + ADManagementIHM.Properties.Settings.Default.ServerPort + "/ADMADSearcher");
return objIADMADSearcher;
        }
Voila. Normalement je fait en sorte d'avoir une seule instance de IADMADSearcher. Dois je rajouter des channel ? si oui comment faire ?
Merci