Не удалось подключиться к net.tcp: // localhost ... Код ошибки TCP 10061 - PullRequest
2 голосов
/ 19 июля 2011

Обращаясь к видео учебному пособию о службе WCF в службе Windows, я создал образец службы WCF и разместил эту службу с netTcpBinding в службе Windows. (Поскольку я хочу, чтобы эта служба WCF выполнялась как служба Windows )

Это простой сервис, который добавляет / удаляет / загружает данные о сотрудниках и используется приложением Windows Form. Это работало нормально, когда я строил полное решение (состоящее из wcf service + windows service + client app), однако, когда я Я хотел убедиться, что мой клиент не имеет прямой ссылки на проект в решении, поэтому я исключил обе службы (wcf + windows) из своего решения. перестал работать выдает ошибку, читая:

Не удалось подключиться к net.tcp: // localhost: 8010 / EmployeeService.Service1 /. Попытка подключения продолжалась в течение промежутка времени 00: 00: 02.0180000. Код ошибки TCP 10061: не удалось установить соединение, потому что целевая машина активно отказала ему в этом. 127.0.0.1:8010.

Важный момент, который может помочь ответить:

  • Служба WCF и служба Windows имеют идентичный app.config
  • Служба Windows работает как служба

это мой клиент app.config

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.serviceModel>
            <bindings>
                <netTcpBinding>
                    <binding name="netTcpEndPoint" closeTimeout="00:01:00" openTimeout="00:01:00"
                        receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false"
                        transferMode="Buffered" transactionProtocol="OleTransactions"
                        hostNameComparisonMode="StrongWildcard" listenBacklog="10"
                        maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
                        maxReceivedMessageSize="65536">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <reliableSession ordered="true" inactivityTimeout="00:10:00"
                            enabled="false" />
                        <security mode="Transport">
                          <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
                            <message clientCredentialType="Windows" />
                        </security>
                    </binding>
                </netTcpBinding>
            </bindings>
            <client>
                <endpoint address="net.tcp://localhost:8010/EmployeeService.Service1/"
                    binding="netTcpBinding" bindingConfiguration="netTcpEndPoint"
                    contract="Service1.IService1" name="netTcpEndPoint">
                    <identity>
                        <userPrincipalName value="user@company.com" />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>
    </configuration>

любая помощь будет принята с благодарностью ....

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Сам нашел ответ, надеюсь, это поможет другим, ищущим его ...

Я обнаружил, что событие worker_DoWork () не инициируется, поэтому добавьте worker.RunWorkerAsync ();как показано в приведенном ниже коде для вашей службы Windows

protected override void OnStart(string[] args)
{                    
    worker = new BackgroundWorker();
    worker.RunWorkerAsync();
    worker.DoWork += new DoWorkEventHandler(worker_DoWork);                
}

Удалите ссылку на службу из проекта клиента, добавьте ее снова, поскольку она вносит изменения в файл app.config.

0 голосов
/ 25 марта 2013

Просто заметка, которая может помочь некоторым людям:

Эта ошибка возникла между двумя компьютерами, которые управляли устройством обработки жидкости Perkin Elmer - Thermo Fisher Scientific (робот).

McAfee Antivirus вмешивался в их связь, и удаление McAfee изгнало ошибку. Антивирус MS Security Essentials НЕ вмешивался.

...