none
Silverlight3与WCF通信性能 RRS feed

  • 问题

  • 用Silverlight3作为客户端,服务端使用WCF为客户端提供服务,并使用双工POLL模式,当服务端推送数据到客户端的时间间隔大于500ms时,
    性能还可以,但是当时间间隔小于200ms时,性能十分不稳定,客户端用时候还会死掉。怀疑是服务器推送时间太快,客户端不能迅速接收消息导致信道阻塞。
    还有Silverlight3当前的版本对于双工通信好像只支持basicHttpBinding的模式,不知道现在有什么好的解决方案来解决这个即时通信的性能问题,谢谢!

    2009年4月7日 13:57

答案

  •      对于TCP,支持双工协议没有问题,因为TCP协议本身是全双工的网络通信协议。
         对于HTTP,它本身就是简单的基于请求/回复的网络协议,是不支持双工通信的。
        WCF通过WsDualHttpBinding实现了基于HTTP协议的双工通信,实际上采用了两个HTTP通道实现的。
    你可以考虑换TCP协议试验一下,这个效率应该会好点~

    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年6月24日 17:20
    版主

全部回复

  •      对于TCP,支持双工协议没有问题,因为TCP协议本身是全双工的网络通信协议。
         对于HTTP,它本身就是简单的基于请求/回复的网络协议,是不支持双工通信的。
        WCF通过WsDualHttpBinding实现了基于HTTP协议的双工通信,实际上采用了两个HTTP通道实现的。
    你可以考虑换TCP协议试验一下,这个效率应该会好点~

    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年6月24日 17:20
    版主
  • 怀疑是服务器推送时间太快,客户端不能迅速接收消息导致信道阻塞--->接收队列
    紫柔版主的头像真叫萌得一个不行啊。。。。
    答案800 撒花
    2009年6月25日 0:43
  • Frank Xu Lei  根本就不了解什么叫 Silverlight3 的 双工POLL模式,后者根本就没好好看楼主的问题。
    2009年7月1日 6:37
  • Frank Xu Lei  根本就不了解什么叫 Silverlight3 的 双工POLL模式,后者根本就没好好看楼主的问题。

    谢谢你的批评,我虚心接受。
    本热对silverlight确实不专业。我回答问题只能尝试从WCF角度来回答。
    你说的Silverlight3 的 双工POLL模式我确实不熟悉。我也在查询资料,会贴到这个文章的后面。作为补充。如果你有好的建议或者资料也可以和大家分享。
       Silverlight3的WCF bingding 目前只支持basicHttpBinding、customBinding 、pollingDuplexHttpBinding 。第三个就是轮训双工绑定。
        我重新查询了资料,中文的介绍很少,这个应该是Silverlight3 client polls duplex service,中文翻译应该是:Silverlight3客户端轮询双工服务。
    另外可以把这个问题发到英文论坛,或许能够国内的资料相对较少。
    这个是我查询的文章,可以参考一下:1
    1.http://johnpapa.net/silverlight/wcf-binary-bindings-in-silverlight-3/;
    2.http://www.eggheadcafe.com/aspnet/how-to/3356513/pushing-data-to-a-silverl.aspx
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年7月1日 13:41
    版主