【问题标题】:NamedPipeClientStream - Notifications if server has disconnectedNamedPipeClientStream - 服务器断开连接时的通知
【发布时间】:2021-08-06 12:47:59
【问题描述】:

我有一个问题,但在这里找不到任何答案。 我在 .NET 5.0/.NET Framework 4.8 环境中使用NamedPipeClientStream/NamedPipeServerStream 类进行双向 IPC 通信,它工作正常,但是我需要有一种方法让客户端(立即)知道服务器是否不再运行我不确定实现这一目标的最佳方法是什么。

当然,我可以尝试在客户端调用 Connect,例如每 3 秒超时一次,如果我收到 TimeoutException,则表示服务器不可用,但据我所知,这样做(例如使用计时器和/或后台线程)不是很有效。有没有更好的方法来做到这一点(并且仍然使用命名管道)?有人能指出我另一个(更好的)方向吗?

我之前用 WCF 解决了这个问题,但是由于 .NET Core 不支持它,它不再是一个解决方案。

非常感谢。 BR, M.

【问题讨论】:

    标签: .net-core notifications named-pipes


    【解决方案1】:

    您可以采用双重方法,如果服务器正常关闭,您可以向客户端发送“我正在关闭”消息。并且还让服务器每秒向客户端发送一次小的心跳消息。这样,客户端可以在需要时检查最后一个心跳是否过时或服务器是否已关闭。

    我自己正在寻找一个 WCF 替代品并看到了你的帖子 ;-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2018-02-20
      相关资源
      最近更新 更多