背景: 我基本上没有使用Silverlight的经验,我被要求开始阅读技术并为客户提供一些洞察力,可能希望在Silverlight中重建他们的.Net Desktop应用程序的用户界面。所以我的经验是我能够谷歌(这令人惊讶地不容易)和我所做的一些教程。 我知道Silverlight可以使用ASMX Web服务,WCF服务或REST与服务器进行通信。
问题: 有没有人知道的任何其他官方或非官方的沟通方式?
提前谢谢你, 大卫
答案 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的完整描述框架具有服务器端数据的应用程序,并免费为您提供许多很好的功能,如验证,分页等。