server push 的 聊天室 【silverlight+WCF duplex】

server push 的 聊天室 【silverlight+WCF duplex】,第1张

概述学习silverlight+WCF duplex的时候做了一个聊天室,顺便加了点小功能 地址:http://202.102.72.40:88/Comments/Chat 欢迎大家来测试 说说过程中遇到过的问题吧: 1.最常见的通道出错问题 常见原因:任何异常如果没有处理都会导致通道出错情况的发生,导致服务端和客户端的通道断开 解决方案:处理所有能够发现的异常,并在通道异常发生之后重新发起会话 2.

学习silverlight+WCF duplex的时候做了一个聊天室,顺便加了点小功能

地址:http://202.102.72.40:88/Comments/Chat


欢迎大家来测试


说说过程中遇到过的问题吧:


1.最常见的通道出错问题

常见原因:任何异常如果没有处理都会导致通道出错情况的发生,导致服务端和客户端的通道断开

解决方案:处理所有能够发现的异常,并在通道异常发生之后重新发起会话


2.超时问题

实际场景中,通讯并不会无时无刻的发生,通讯就会遇到各种超时问题,WCF的出错提示并不详细,经过实践发现,最常发生的是这4种超时:ReceiveTimeOut,SendTimeOut,OpenTimeOut, InactivityTimeout

解决方案:建立PollingDuplexhttpBinding的时候调大各个超时时限;客户端有服务端的超时时限要保持一致,避免通道出错;发送心跳讯息或者修改IIS进程池的超时时限


3.广播以及非正常下线问题

用户发送广播,比如当前用户的登录如果想立即通知其他用户;非正常下线要及时向所有用户广播

客户端建立并打开信道的时候再服务端将信道保存起来,广播的时候再取出来;

广播发生异常的时候将此信道从存储区域移除,加入信道关闭处理事件,及时发出广播

 

4.UI更新异常问题

原因是Duplex全是异步处理,没有对UI主线程的 *** 作权

解决方案:跟winform类似,取得UI主线程然后提交处理方法,比如:this.dispatcher.BeginInvoke

总结

以上是内存溢出为你收集整理的server push 的 聊天室 【silverlight+WCF duplex】全部内容,希望文章能够帮你解决server push 的 聊天室 【silverlight+WCF duplex】所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1027968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存