gpt4 book ai didi

windows-services - 无法连接到 net.tcp ://localhost. .. TCP 错误代码 10061

转载 作者:行者123 更新时间:2023-12-04 06:19:41 25 4
gpt4 key购买 nike

引用视频 tutorial关于 Windows 服务中的 WCF 服务,我创建了一个示例 WCF 服务,并在 Windows 服务中使用 netTcpBinding 托管该服务。(因为我希望此 WCF 服务作为 Windows 服务运行)

它是一个简单的服务,它添加/删除/加载员工详细信息,并由 Windows 窗体应用程序使用。当我构建整个解决方案(包括 wcf 服务 + Windows 服务 + 客户端应用程序)时,它工作得很好,但是当我想验证时我的客户没有直接引用解决方案中的项目,所以我从我的解决方案中排除了两个服务(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>

    任何帮助将不胜感激....

    最佳答案

    自己找到了答案,希望它可以帮助其他人寻找它...

    发现worker_DoWork()的事件没有触发,所以添加worker.RunWorkerAsync();如下面的代码所示,您的Windows服务

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

    从客户端项目中删除服务引用,再次添加它,因为它会更改您的 app.config 文件。

    关于windows-services - 无法连接到 net.tcp ://localhost. .. TCP 错误代码 10061,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6747952/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com