2008-10-29 63 views
8

我喜欢在我可以使用WCF回调时,因为对我来说,它比客户端需要轮询服务器和其实时性要好于轮询。我遇到的问题是,当我订阅WCF服务事件时,是否有任何心跳使客户端和服务器之间的连接保持活动状态。我开始认为并不是因为服务器消失时订阅丢失,客户端也不会抛出异常(可能是WCF运行时吞下的异常)。服务器也是如此,当客户端消失并且服务器试图调用回调并且抛出异常时。有什么想法吗?WCF回调和网络流量

感谢

回答

3

有这link复式合同的一个很好的简短描述(WCF回调)。双面合同基本上是两个单向渠道,并且不存在隐含的消息关联。你是对的,没有涉及“心跳”消息,在进行双工呼叫时只发生正常的wsHTTP握手流量。

我启动了HTTP流量嗅探器,名为Fiddler2(不受支持的Microsoft工具)来验证会话流量。在服务呼叫期间和之后没有看到任何发生在内部的HTTP“心跳”通信。我让客户跑了很长时间。好问题,让我挖了一点。

0

我继续为订阅客户端(基本上是对他们托管的函数的调用)创建一个循环心跳。

我已经运行了几个小时,它的工作原理,这有助于确保连接。