为什么我的*超时设置会被忽略?

安德烈·布什曼

我的解决方案包含两个项目:WCF服务和WCF客户端。启动顺序:

在此处输入图片说明

当我手动启动服务并稍后启动客户端时,它可以正常运行。但是,如果我在调试模式下通过IDE进行了同样的操作,那么我有时会得到一个例外:

类型的未处理的异常System.ServiceModel.EndpointNotFoundException发生在mscorlib.dll

附加信息:net.pipe://localhost/可以接受该消息的任何端点都没有执行侦听除其他原因外,它可能是由于SOAP错误的地址或操作引起的。有关更多详细信息,请参见InnerException的描述(如果可用)。

但是我客户端的Config-file包含超时设置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    </startup>
    <system.serviceModel>
        <bindings>
          <netNamedPipeBinding>
            <binding
                     closeTimeout="00:30:30"
                     openTimeout="00:30:30"
                     receiveTimeout="00:30:30"
                     sendTimeout="00:30:30"/>
          </netNamedPipeBinding>
        </bindings>
        <client>
          <endpoint name="pipe1"
                    address="net.pipe://localhost"
                    binding="netNamedPipeBinding"
                    contract="ServiceReference1.IContent"/>

          <endpoint name="pipe2"
                    address="net.pipe://localhost"
                    binding="netNamedPipeBinding"
                    contract="ServiceReference1.IMessages"/>
        </client>
    </system.serviceModel>
</configuration>

为什么在调试模式下时间发生异常?

UPD

决定的其他变体:

#if DEBUG
            System.Threading.Thread.Sleep(1000);
#endif
尤金·波兹卡尔(Eugene Podskal)

实际上并没有忽略它们,这是预期的行为

注意:如果根本无法建立与服务端点的连接(即,服务不可访问),则WCF不会引发TimeoutException,而是框架会立即引发EndpointNotFoundException。

我不确定是否有办法正确执行此操作(至少我找不到标准的东西-抛出EndPointNotFoundException所需的时间),但是您始终可以创建自己的错误重新初始化机制(最简单的方法,但不是最好的解决方案是赶上EndpointNotFoundException并稍后尝试重新初始化客户端)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

为什么我的状态迭代会被覆盖?

来自分类Dev

为什么我的.setfocus被忽略?

来自分类Dev

为什么SQLAlchemy / mysql会让我超时?

来自分类Dev

为什么我的gunicorn进程会忽略Django的日志级别设置?

来自分类Dev

为什么我的Mongoose 3.8.7模式获取器和设置器被忽略?

来自分类Dev

为什么我的指令的链接功能永远不会被调用?

来自分类Dev

为什么bundleConfig忽略我的包含目录

来自分类Dev

为什么我的WCF回调超时?

来自分类Dev

为什么忽略renderAllHiddenFieldsAtTopOfForm配置设置?

来自分类Dev

除非我添加ToList(),否则为什么在foreach中对Linq分组选择所做的更改会被忽略?

来自分类Dev

为什么在AngularJS应用程序中空白会被忽略

来自分类Dev

为什么我的次要功能会被一并关闭?

来自分类Dev

为什么尾随退格键会被忽略?

来自分类Dev

为什么我的状态迭代会被覆盖?

来自分类Dev

当我为该条目设置变量并更改该变量时,为什么列表中的条目会被更改?

来自分类Dev

硒,python-无论我将延迟设置为什么,WebDriverWait都会超时60%

来自分类Dev

为什么我的IPV6在存储时会被截断?

来自分类Dev

为什么我的默认浏览器设置会被忽略?

来自分类Dev

为什么我的MacBook Pro会被磁化?

来自分类Dev

为什么我的委托方法永远不会被调用?

来自分类Dev

为什么我的for循环被忽略?

来自分类Dev

为什么我的变更处理程序永远不会被解雇?

来自分类Dev

为什么我的模型限制会被忽略?

来自分类Dev

为什么我们会在PAM中使用可选选项,即使它会被忽略?

来自分类Dev

为什么我要退出时会被强制关闭?

来自分类Dev

为什么GET变量会被gettext忽略?

来自分类Dev

为什么maven-resources-plugin会忽略我的字符集编码设置?

来自分类Dev

为什么我的指令会被调用两次?

来自分类Dev

为什么我的 if 语句忽略我的变量?

Related 相关文章

  1. 1

    为什么我的状态迭代会被覆盖?

  2. 2

    为什么我的.setfocus被忽略?

  3. 3

    为什么SQLAlchemy / mysql会让我超时?

  4. 4

    为什么我的gunicorn进程会忽略Django的日志级别设置?

  5. 5

    为什么我的Mongoose 3.8.7模式获取器和设置器被忽略?

  6. 6

    为什么我的指令的链接功能永远不会被调用?

  7. 7

    为什么bundleConfig忽略我的包含目录

  8. 8

    为什么我的WCF回调超时?

  9. 9

    为什么忽略renderAllHiddenFieldsAtTopOfForm配置设置?

  10. 10

    除非我添加ToList(),否则为什么在foreach中对Linq分组选择所做的更改会被忽略?

  11. 11

    为什么在AngularJS应用程序中空白会被忽略

  12. 12

    为什么我的次要功能会被一并关闭?

  13. 13

    为什么尾随退格键会被忽略?

  14. 14

    为什么我的状态迭代会被覆盖?

  15. 15

    当我为该条目设置变量并更改该变量时,为什么列表中的条目会被更改?

  16. 16

    硒,python-无论我将延迟设置为什么,WebDriverWait都会超时60%

  17. 17

    为什么我的IPV6在存储时会被截断?

  18. 18

    为什么我的默认浏览器设置会被忽略?

  19. 19

    为什么我的MacBook Pro会被磁化?

  20. 20

    为什么我的委托方法永远不会被调用?

  21. 21

    为什么我的for循环被忽略?

  22. 22

    为什么我的变更处理程序永远不会被解雇?

  23. 23

    为什么我的模型限制会被忽略?

  24. 24

    为什么我们会在PAM中使用可选选项,即使它会被忽略?

  25. 25

    为什么我要退出时会被强制关闭?

  26. 26

    为什么GET变量会被gettext忽略?

  27. 27

    为什么maven-resources-plugin会忽略我的字符集编码设置?

  28. 28

    为什么我的指令会被调用两次?

  29. 29

    为什么我的 if 语句忽略我的变量?

热门标签

归档