Silverlight和服务器端之间的通信方法是什么?

时间:2009-10-09 08:11:40

标签: silverlight communication

背景: 我基本上没有使用Silverlight的经验,我被要求开始阅读技术并为客户提供一些洞察力,可能希望在Silverlight中重建他们的.Net Desktop应用程序的用户界面。所以我的经验是我能够谷歌(这令人惊讶地不容易)和我所做的一些教程。 我知道Silverlight可以使用ASMX Web服务,WCF服务或REST与服务器进行通信。

问题: 有没有人知道的任何其他官方或非官方的沟通方式?

提前谢谢你, 大卫

1 个答案:

答案 0 :(得分:5)

从这里开始:

http://msdn.microsoft.com/en-us/library/dd470099(VS.95).aspx

http://videos.visitmix.com/MIX08/T13

http://videos.visitmix.com/MIX09/T42F

我对这项技术工作有点偏颇:),但我会敦促你考虑WCF。

这种方法为您提供了极大的可用性:实际上需要花几分钟时间将“添加新的...支持Silverlight的WCF服务”添加到您的项目中并使所有内容都正常运行。在Silverlight 3中,它使用了一个非常高性能的二进制XML协议,可以轻松切换到常规文本XML,只需2行配置更改即可进行调试。它与您想要的大多数身份验证模型很好地集成(请参阅上面文档链接中的安全性部分)。

当然,您可以使用HttpWebRequest,WebClient甚至套接字来进行自己的通信。如果您想在服务器上使用REST,那么使用WebClient可能是最好的。请记住,由于浏览器的限制,在浏览器插件(如Flash和Silverlight)中无法通常在REST中执行某些操作(例如使用PUT和DELETE HTTP谓词)。

最后,还有.NET RIA服务。对于某些场景而言,它有点过于沉重,并且没有一些WCF功能(如二进制和双工),但它不仅仅是一种与服务器通信的方式:它为您提供了构建SL的完整描述框架具有服务器端数据的应用程序,并免费为您提供许多很好的功能,如验证,分页等。