gpt4 book ai didi

.net - WCF - 如果在客户端连接时关闭,则在 CloseTimeout 持续时间内关闭双工 ServiceHost block

转载 作者:行者123 更新时间:2023-12-03 17:21:18 25 4
gpt4 key购买 nike

我有一个承载三个不同双工 WCF channel 的 Windows 服务。客户端可以连接以通过其回调合约将更新发送给他们。基本上有三个 pub-sub channel 。

当客户端连接时,此服务需要很长时间才能反弹。调用 ServiceHost.Close 返回需要 10 秒(因此服务需要 30+ 秒才能停止。)结果我的 closeTimeout在配置中是 10 秒。更改此值表明这是问题的原因。

我该怎么做才能及时关闭 channel ?我不喜欢某些事情超时的想法。我可以打电话Abort ,但似乎必须有更好的方法。我以前没有在非双工 channel 上看到过这个,所以假设它是双工的。

理想情况下,客户端会立即收到 channel 出现故障的通知,以便用户可以立即看到更新已停止。

最佳答案

“理想情况下,客户端会立即收到 channel 出现故障的通知,以便用户可以立即看到更新已停止。”

WCF 客户端实例具有您可以订阅的事件:

  • 已关闭
  • 闭幕
  • 故障
  • 已开通
  • 开幕。

  • 故障 一旦您的双工 channel 因任何原因停止,就会引发事件。

    我想知道为什么您的服务主机需要 30 多秒才能关闭。你能提供一些示例代码吗?

    关于.net - WCF - 如果在客户端连接时关闭,则在 CloseTimeout 持续时间内关闭双工 ServiceHost block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643476/

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