Исключение в сокете # 33711845 :: DoBind - обычно разрешено только одно использование каждого адреса сокета (протокол / сетевой адрес / порт) - PullRequest
1 голос
/ 15 марта 2010

Я пытаюсь настроить простую удаленную службу Windows и получаю следующую ошибку при запуске службы:

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

В приложении службы Windows у меня есть следующий код в методе «OnStart» - ошибка возникает при регистрации Channel - ChannelServices.RegisterChannel (tcpPipe, true); Насколько я могу судить, нет других процессов, использующих порт 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);
        }

1 Ответ

0 голосов
/ 16 марта 2010

Я нашел проблему. У меня было два отдельных вызова TcpChannel для регистрации порта - отсюда и ошибка.
спасибо всем, кто взглянул на это.
...

...