【问题标题】:.net 4 ws-discovery endpoints.net 4 ws-discovery 端点
【发布时间】:2009-12-01 18:16:41
【问题描述】:

我在 .NET 4.0 中使用 ws-discovery,它运行良好。我的一个问题是如何处理不起作用的服务。例如,假设我在服务器 A 和服务器 B 上有 IService。假设服务器 A 上的此服务已损坏(通过停止应用程序池来模仿此服务)。您的客户仍会找到 2 项服务,因此当您尝试使用该服务时,您无法保证它是有效的。

所以我的问题是,您是否通过遍历端点来处理这个问题,如果第一个失败,请尝试下一个。或者有没有办法只检索在搜索时“启动”的服务?还是我在某处错过了重点-很可能:-)

谢谢

【问题讨论】:

  • 您是否在询问当客户端仅发现其需要的部分服务时会发生什么?或者,您是否有多个具有相同界面的服务?

标签: .net wcf .net-4.0 ws-discovery


【解决方案1】:

我发现这是 wcf 发现中的常见问题。当服务器位于两个网络上时,也会出现类似的问题。发现将返回两个网卡地址,但当然,客户端只能通过其中一个网络到达服务器。

我一直在使用的解决方法是向服务器添加一个“void Ping()”函数。然后在发现之后,客户端尝试在所有发现的端点上调用这个“Ping()”函数。返回响应的那些是好的,其他的是坏的。

我最终更进一步,并生成了一个线程,该线程偶尔会继续调用此“Ping()”函数。然后,当一个好的服务器消失时,线程会从“好的”uris 集合中删除该 uri。

我感觉到你的痛苦。

【讨论】:

    【解决方案2】:

    本文似乎通过在运行时确定端点地址来涵盖您所说的内容。

    http://weblogs.asp.net/gsusx/archive/2009/02/13/using-ws-discovery-in-wcf-4-0.aspx

    【讨论】:

      猜你喜欢
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多