我有很多客户端程序和一项服务。 此客户端程序通过带有WCF的http通道与服务器进行通信。
客户端拥有动态IP。 他们每天24小时在线。
我需要以下内容: 服务器应该在3分钟的时间间隔内通知所有客户端。如果客户端是新的(从当前开始),则应立即通知。
但是因为客户端具有动态IP并且它们每天工作24小时且有时连接不稳定,所以使用wcf duplex是个好主意吗?
连接断开后会发生什么?它会自动恢复吗?
使用远程MSMQ进行此类通知是个好主意吗?
此致
答案 0 :(得分:1)
WCF双工是非常耗费资源的,根据经验,您不应该使用超过10个。双工通道涉及很多开销。此外,还没有自动恢复。
如果您知道3分钟的间隔并且您希望客户端在启动时获取信息,为什么不让客户端从服务器轮询信息?
答案 1 :(得分:0)
当连接断开时,回调将抛出异常,通道将关闭。
我不确定MSMQ是否适合您,除非每个客户端都会为您创建一个MSMQ队列,并将消息推送到每个客户端。再次与不可靠的连接,它将无济于事。如果您断开与客户端的连接,客户端脱机或更改IP而不通知您的系统,我认为您无法“推送”数据。