【问题标题】:How to I find out when my WCF server has exited (and closed it TCP connection)如何找出我的 WCF 服务器何时退出(并关闭它的 TCP 连接)
【发布时间】:2009-12-14 09:46:25
【问题描述】:

我正在使用 nettcpbinding 绑定(目前具有可靠的消息传递)。

当服务器执行 serviceHost.Close() 时,TCP 连接应该完全关闭,因此应该通知客户端。 如何将这个事件与 WCF 挂钩?(请注意,这与 TCP 连接因网络问题而关闭不同,当可靠的消息传递可能能够重新创建连接时)

如果服务器调用 serviceHost.Abort() ,那么客户端将永远无法向它发送另一条消息,所以我希望在所有重试超时后引发一些事件。

IChannel.FaultedIChannel.Closing 事件不会在客户端触发)

【问题讨论】:

    标签: .net wcf tcp nettcpbinding


    【解决方案1】:

    WCF 似乎并没有公开很多 TCP 可以做的事情,因为它认为 HTTP 是世界的中心。

    【讨论】:

      【解决方案2】:

      不完全是您要查找的内容,但可以选择将您的服务配置为 duplex service,并在关闭服务主机之前向客户端发送终止通知。

      【讨论】:

      • 鉴于原始“套接字”编程告诉我 TCP 连接的服务器端何时关闭,我希望 WCF 也能做到这一点。
      猜你喜欢
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 2022-01-22
      • 2020-05-04
      相关资源
      最近更新 更多