gpt4 book ai didi

c# - 使用 WCF 回调时,客户端如何知道服务器是否已中断

转载 作者:行者123 更新时间:2023-11-30 20:48:24 24 4
gpt4 key购买 nike

如果我创建一个提供回调的 WCF 服务,并且我有多个客户端注册接收事件,这些客户端如何知道服务是否中断或关闭?目前他们只是悬而未决,等待一个永远不会触发的事件。

我想也许我可以实现某种轮询(这是我试图摆脱的)。但即使是轮询也似乎是一个糟糕的解决方案。例如,如果我每 30 秒轮询一次,但服务或应用程序池在下一次检查之前重新启动,那么客户端会认为一切正常,尽管服务器已丢失对它们的引用。

最佳答案

您可以利用 IClientChannel 上的各种事件来监视连接发生的情况。对于您的情况,Faulted 事件似乎是最合适的。但还有其他一些您可能会觉得有用的事件。

    _proxy.InnerChannel.Opening += OnChannelOpening;
_proxy.InnerChannel.Opened += OnChannelOpened;
_proxy.InnerChannel.Faulted += OnChannelFaulted;
_proxy.InnerChannel.UnknownMessageReceived += OnChannelUnknownMessageReceived;
_proxy.InnerChannel.Closing += OnChannelClosing;
_proxy.InnerChannel.Closed += OnChannelClosed;

关于c# - 使用 WCF 回调时,客户端如何知道服务器是否已中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24700523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com