【问题标题】:Silverlight Architecture for event driven application用于事件驱动应用程序的 Silverlight 架构
【发布时间】:2010-12-22 11:55:17
【问题描述】:

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

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

谢谢,

科比

【问题讨论】:

    标签: .net silverlight wcf


    【解决方案1】:

    您可以查看 WCF Duplex Services,尽管我对此有不同的体验。它与任何其他 WCF 服务一样工作,但使用此方法两端可以独立发送/接收消息。基本上,客户端会与服务器保持一个长时间运行的连接,这可用于在两端创建类似事件的行为。

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

    见:http://msdn.microsoft.com/en-us/library/ms731064.aspx

    【讨论】:

    • 谢谢,埃里克。我会调查的。可扩展性和鲁棒性对我们来说不是问题,因为我们谈论的是具有大约 2 到 5 个客户端的服务器,大部分位于同一网络上。我知道另一种选择是直接使用套接字,但我当然更喜欢基于 Web 服务的方法。
    最近更新 更多