当前位置:  开发笔记 > 运维 > 正文

通过WCF双工通道长期运行的回调合同 - 替代设计模式?

如何解决《通过WCF双工通道长期运行的回调合同-替代设计模式?》经验,为你挑选了1个好方法。

我有一个Windows服务,记录从雷达枪到数据库的速度读数.另外,我使服务成为WCF服务器.我有一个表单和一个CF客户端订阅该服务,并在有满足某些条件的读数时被回叫.

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

编辑:即使超时2小时,频道最终也会受到损害.我收到此错误:

无法完成操作'SignalSpeedData',因为会话通道超时等待接收消息.要增加超时,请在配置文件中的绑定上设置receiveTimeout属性,或者直接在Binding上设置ReceiveTimeout属性.

这发生在最后一次成功通话后15分钟.我想知道如果不是保持会话开放,就可以为每次通话重新建立一个新的会话.



1> Steve..:

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


亲爱的史蒂夫,cdonner,实际解决方案是什么?心跳消息对我来说不太好看,我更喜欢一些配置参数.
推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有