hello
voila j'ai un programme qui tourne en service
ce programme crée un channel TCP pour faire du remoting:
Code :
- channel = new TcpServerChannel("remote_test",9988);
- ChannelServices.RegisterChannel(channel, true);
|
ensuite je partage un objet Remote grace au remoting de cette maniere:
Code :
- r = new Remote(lesPabx, parametres, pabx_generic); //construction de mon objet
- RemotingServices.Marshal(r, "Remote" ); //partage de l'objet
|
ceci fonctionne bien: je lance le service; un programme client recupere l'objet et peut appeler les methodes de l'objet etc
nickel donc
seulement mon service doit de temps en temps s'arreter et redemarrer immediatement (lors des changements de parametres par exemple)
or jusqu'a maintenant ça marchait bien
mais j'ai testé le programme sur un autre ordi et ça ne fonctionne plus:
lors du premier demarrage du service tout est ok
si je coupe le service et que je le redemarre aussitot j'ai un message d'erreur:
Erreur lors de la creation des channels de remoting: Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée
comment eviter ça?
j'ai testé de rajouter ce code avant de creer mon TcpServeurChannel:
Code :
- IChannel[] canauxExistants = ChannelServices.RegisteredChannels;
- foreach (IChannel c in canauxExistants)
- {
- if (c.ChannelName == "remote_test" )
- ChannelServices.UnregisterChannel(c);
- }
|
mais ça ne fonctionne pas mieu...
help
merci
Message édité par warenbe le 26-04-2008 à 16:36:29
---------------
mon feedback: http://forum.hardware.fr/hfr/Achat [...] 8120_1.htm