【问题标题】:EndpointNotFoundException and Async CallsEndpointNotFoundException 和异步调用
【发布时间】:2009-08-07 00:33:48
【问题描述】:

在 WCF 中调用异步方法时是否可以捕获 EndpointNotFoundException?我已将客户端上的服务调用包装在 try/catch 块中,并且正在捕获 EndpointNotFoundExceptions、FaultExceptions 和一般异常,但如果客户端运行后服务消失,则异步调用不会捕获异常,但最终会出现发生超时。

在异步调用期间快速捕获死服务的最佳方法是什么(或有什么方法)?

【问题讨论】:

  • 这是一个类似的问题吗? (不幸的是还没有解决)stackoverflow.com/questions/1204534
  • 类似,但 SO 的搜索没有为我找到。显然是不同的关键字。

标签: wcf


【解决方案1】:

这已经打开了一段时间,没有任何动作。我想答案基本上是考虑到网络类型/预期的处理量等,将您的超时设置得尽可能低。一种可能性是设置一个具有非常短超时(例如 5 秒)的端点,只需一个“Ping”方法作为心跳。使用客户端定期调用和监控此方法,以获取服务器/端点的健康状况。正如 Simon Fox 指出的,请查看Where to trap failed connection on WCF calling class? 以获得更详细的回复。

【讨论】:

    【解决方案2】:

    我也在尝试以一种可管理的方式处理这些错误。这是关于这个主题的另一个线程。

    WCF/C# Unable to catch EndpointNotFoundException

    【讨论】:

      猜你喜欢
      • 2011-04-24
      • 1970-01-01
      • 2014-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多