我正在尝试使用Silverlight 4和轮询双工启用流式响应,但是当发送到客户端的更新速率大于maxOutputDelay时,我会遇到奇怪的行为,这导致不发送更新.
例如,maxOutputDelay为7秒,每10秒发送一次更新,一切正常.但是如果我有一个1秒的maxOutputDelay,并且每500毫秒发送一次更新,则更新只是位于服务器端而不会被发送到客户端.
我的理解是设置transferMode =“StreamedResponse”应该立即将更新发送给客户端,但这似乎不起作用.
这是Web服务的Web.config中的绑定:
此配置基于本文中的信息:http://blogs.msdn.com/b/silverlightws/archive/2010/06/25/http-duplex-improvements-silverlight-4.aspx
谢谢.
解决方法
如果您并不完全专注于使用双工通道(除了单个主机方案之外的任何配置都很困难),可能值得检查实现服务器回调的替代解决方案 – 即使这意味着您必须维护两种不同的类型连接到你的后端.
双工频道替代方案: