Silverlight客户端快速频繁调用WCF双工服务导致无反应
目前正在学习Silverlight+WCF双工调用方面的知识,
做了个很简单小例子,客户端页面有Button1、Button2两个按钮以及一个textbox控件,给两个按钮添加同一个click事件,在事件处理函数中调用WCF服务,WCF接着Callback客户端,按钮显示文字(按钮名称)显示在textbox控件上,WCF双工是通过PollingDuplexHttpBinding协议实现的。
问题是这样的,快速连续点击按钮会导致客户端失去反应,客户端出现假死机现象,可以点击按钮,但是无法完成WCF回调。
曾经尝试给按钮click事件内部加开关,开关为真,执行WCF服务请求操作,然后开关赋值为假,在回调函数中给开关赋值为真,但是结果依然不起作用;尝试更改WEB端和client端binding相关参数(sendtimeout、recievetimeout等等许多参数)也不见效,分析应该是服务端回调反应不过来造成的,但不知从哪里下手防止这种情况的发生,另问一下PollingDuplexHttpBinding协议实现的WCF双工反应就是很慢么?即使将web端设置maxOutputDelay="00:00:01",客户端看到回调结果感觉也有0.3秒左右时间。
[解决办法]
自己已经解决,还是利用事件内部增加开关的方法!