gpt4 book ai didi

wcf - 通过 WCF 双工 channel 长期运行的回调契约(Contract) - 替代设计模式?

转载 作者:行者123 更新时间:2023-12-04 08:19:33 28 4
gpt4 key购买 nike

我有一个 Windows 服务,可以将雷达枪的速度读数记录到数据库中。此外,我将该服务设为 WCF 服务器。我有一个订阅服务的表单和一个 CF 客户端,只要有满足特定标准的读数就会被回调。

这原则上有效,但一段时间后 channel 超时。似乎长时间运行的连接存在一些基本问题(请参阅
http://blogs.msdn.com/drnick/archive/2007/11/05/custom-transport-retry-logic.aspx ) 并且双工 HTTP 回调可能不是正确的解决方案。还有其他方法可以使用 WCF 实现发布/订阅模式吗?

编辑:即使有 2 小时的超时, channel 最终也会受到影响。我收到此错误:

无法完成“SignalSpeedData”操作,因为 session channel 等待接收消息时超时。要增加超时,请在配置文件中的绑定(bind)上设置 receiveTimeout 属性,或直接在 Binding 上设置 ReceiveTimeout 属性。

这发生在最后一次成功通话后 15 分钟。我想知道是否可以为每次通话重新建立一个新的 session ,而不是保持 session 打开。

最佳答案

可靠的消息传递将满足您的需求。如果出现问题, channel 会自行重新建立。 WSDualHTTPBinding 为 http 绑定(bind)提供了这个,还有一个 tcp 绑定(bind)允许这个。如果您在同一台计算机上,命名管道绑定(bind)将默认提供此功能。

关于wcf - 通过 WCF 双工 channel 长期运行的回调契约(Contract) - 替代设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/600256/

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