WCF客户端异常掉线

WCF双工通信中,通常将客户ID(Session,WCF初学者,个人理解为一类的)与callback通道绑定在一起Dictionary,当客户端异常掉线,通道记录还在服务器中,造成下次不能成功登陆

网上给出的一个方法大概为 “心跳”,判断客户端是否在线,不在就删掉Dictionary里的记录。本是WCF 初学者,一个担心性能,后来搜到有人说客户端用户数10个左右,完全没影响,另一个不大会写,因为是项目,要想办法写入项目中,做为后备方案吧,实在不行就用这个

另一个方法是继承IDopseable 接口,CSDN上博客户说客户掉线后会自动调用Dopse方法,经实验不行,后来特别搜了下哪个接口的用法,发现CSDN博客没有按哪个接口的用法,可能是博主自已用时用了,但博客上没写清,或许故意留一手吧

自已想办法:既然登陆时记录就在里面,我就在登陆时就删掉记录,不分客户端是否正常在线,造成的问题是:当被删后,登录后正常写入Dictionary的记录,如果先前开的客户端界面还在,点退出,就会删 除Dictionary里记录,这样,后面登录的客户端在Dictionary里的记录一同被删。于是写个回调方法,在删除记录前关闭正常的客户端。如果是异常的不管,因为发送方式为IsOneWay.效果与早期的QQ 挤掉线类似。

没有代码,因为是公司项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值