用于事件驱动应用程序的Silverlight架构

时间:2010-12-22 11:55:18

标签: .net silverlight wcf

我被要求写一个silverlight客户端 - 服务器应用程序。架构要求之一是服务器需要能够向客户端发送事件。我知道HTTP的设计方式是服务器不应该“启动”通信,而是应答从客户端发起的请求。一种选择是编写某种“轮询”机制,该机制一直询问服务器问题并在客户端部分到达后将其传播到客户端部分中。

我的问题是,在silverlight中是否有开箱即用的解决方案?此外,这种事情是否有“最佳实践”?

谢谢,

了Kobi

1 个答案:

答案 0 :(得分:4)

你可以查看WCF Duplex Services,虽然我对此有不同的经验。它的工作方式与任何其他WCF服务类似,但使用此方法的两端都可以独立发送/接收消息。基本上,客户端保持对服务器开放的长时间连接,这可以用于在两端创建类似事件的行为。

但是,我发现由于HTTP的性质,长时间运行的连接并不那么健壮,并且你可以获得一些棘手的异常,这些异常可能会或可能不容易处理。使用这种技术进行原型设计是一个好主意,看它是否适合你。

请参阅:http://msdn.microsoft.com/en-us/library/ms731064.aspx