Je tente de configurer un simple service Windows à distance et d'obtenir l'erreur suivante lors du démarrage du Service:Exception dans le socket # 33711845 :: DoBind - Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est normalement autorisée
System.Net.Sockets Error: 0 : [4180] Exception in the Socket#33711845::DoBind - Only one usage of each socket address (protocol/network address/port) is normally permitted
System.Net.Sockets Verbose: 0 : [4180] ExclusiveTcpListener#4032828::Start()
System.Net.Sockets Verbose: 0 : [4180] Socket#33711845::Bind(0:9998#9998)
System.Net.Sockets Error: 0 : [4180] Exception in the Socket#33711845::DoBind - Only one usage of each socket address (protocol/network address/port) is normally permitted
dans la fenêtre application de service que j'ai le code suivant dans la méthode "OnStart" - l'erreur se produit lors de l'enregistrement du canal - ChannelServices.RegisterChannel (tcpPipe, true); Autant que je sache, il n'y a pas d'autres processus utilisant le port 9998 ...
protected override void OnStart(string[] args)
{
int portNumber = int.Parse(ConfigurationManager.AppSettings["endPointTCPPort"]);
TcpChannel tcpPipe = new TcpChannel(portNumber);
ChannelServices.RegisterChannel(tcpPipe, true);
Type serviceType = Type.GetType("TractionGatewayService.TractionGateway");
try
{
RemotingConfiguration.RegisterWellKnownServiceType(serviceType, "updateCustomerDetails", WellKnownObjectMode.SingleCall);
}
catch (RemotingException e)
{
EventLog.WriteEntry("unable to establish listening port because " + e.message;
ChannelServices.UnregisterChannel(tcpPipe);
}
J'ai parfois le même problème avec le remoting dans un service Windows. Essayez d'exécuter netstat -b et vérifiez quel processus possède votre port et dans quel état il se trouve. Dans mon cas, SYSTEM est le propriétaire avec l'état du port 'ESTABLISHED' et la solution de contournement est un redémarrage du système. – EventHorizon
Salut Dag, merci pour votre réponse. J'ai couru netstat mais il n'y a aucune mention du port que j'essaye d'employer - 9998. Avant que j'ai créé un "service de fenêtres" j'ai écrit ce code pour courir sous une fenêtre de console. Je peux courir le code de console using le port 9998 sans aucun problème - je reçois seulement cette erreur en exécutant le code ci-dessus sous un service de fenêtres. J'aurais probablement dû mentionner que j'ai installé ce service sur mon poste de travail. – wollemi
content que vous ayez trouvé votre problème. Pour le bénéfice des autres qui lisent ceci, je remarquerai que .NET Remoting est maintenant déprécié en faveur de WCF. –