【问题标题】:Wcf decrease client connection timeoutWcf 减少客户端连接超时
【发布时间】:2013-02-09 06:41:32
【问题描述】:

我有一个运行良好的 wcf 服务。问题出在客户端。我有一个小 gui,用户应该在其中放置 wcf 服务所在位置的 IP 地址。客户端和服务都在同一个网络上,所以如果我无法连接,是因为我提供了不正确的 IP 地址或防火墙被阻止。无论如何,我怎样才能缩短那个时间,这样如果用户输入了不正确的 ip,他就不必等待 20 秒?以下是我的 app.config 文件如何查找我的客户端:

这是我的客户端 app.config 文件的外观:

    <client>
        <endpoint address="net.tcp://127.0.0.1:41236/" binding="netTcpBinding" 
            bindingConfiguration="NetTcpBinding_IService1" contract="ServiceReference1.IService1"
            name="NetTcpBinding_IService1">
            <identity>
                <dns value="localhost" />
            </identity>
        </endpoint>
    </client>

编辑

我已将我的 app.config 文件更新为:

    <bindings>
        <netTcpBinding>
            <binding name="NetTcpBinding_IService1" sendTimeout="00:00:02" receiveTimeout="00:00:02">
                <security mode="Transport" />
            </binding>
        </netTcpBinding>
    </bindings>
    <client>
        <endpoint address="net.tcp://10.10.1.154:41236/" 
                  binding="netTcpBinding" 
                  bindingConfiguration="NetTcpBinding_IService1" 
                  contract="ServiceReference1.IService1"

            name="NetTcpBinding_IService1">
            <identity>
                <dns value="localhost" />
            </identity>
        </endpoint>
    </client>

请注意,我故意放置了一个不存在的 IP 地址,由于某种原因,程序仍然等待大约 10 秒...我添加了 sendTimeout="00:00:02" receiveTimeout="00:00:02" 属性,但仍然无法正常工作:(

编辑 2

这是我收到的错误消息:

无法连接到 net.tcp://10.10.1.154:41236/。连接 尝试持续了 00:00:21.0342031 的时间跨度。 TCP错误代码 10060:连接尝试失败,因为连接方没有 一段时间后正确响应,或建立连接 失败,因为连接的主机未能响应 10.10.1.154:41236。

请注意,它尝试连接 21 秒...我知道我将无法连接,但如果我能减少该时间会很好。我打算在同一个网络上使用这个程序...

【问题讨论】:

  • 我已经编辑了我的答案。

标签: c# wcf timeout client connection-timeout


【解决方案1】:

在您的 NetTcpBinding_IService1 绑定配置上

添加属性sendTimeout="00:00:02"

这会将它减少到 2 秒。

编辑

请使用OpenTimeout="00:00:02" 这应该可以。

【讨论】:

  • 感谢即将试用!
  • @scartag 如果将值更改为一秒后,连接尝试持续至少 22 可能会发生什么。然后它会抛出 EndpointNotFoundException
【解决方案2】:

替换你的bindingConfigurationNetTcpBinding_IService1中的超时

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多