我有WCF服务器和Silverlight客户端使用pollingDuplexHttpBinding绑定。WCF和Silverlight >> pollingDuplexHttpBinding >>在浏览器关闭时从silverlight调用Web服务
我想根据this关闭连接并调用EndSession操作方法,它会清除
活跃用户列表中的用户,并关闭会话(IsTerminating = true
)
[OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = true)]
void EndSession();
,你不能在Application_Exit事件上调用wcf操作,它也给出了对我来说似乎“2太多嘈杂”的解决方案
,
我在这里有什么选择?这是唯一的方法吗?
1)使用链接解决方案?
2)服务器每隔X秒运行一次方法检查双工对象状态是否还活着?
(((ICommunicationObject)clientContract.Value).State != CommunicationState.Opened
3)其他?!简单的内置解决方案?为什么Silverlight是HELL?!