Silverlight和服务器端之间的通信方法有哪些?

3

背景: 我基本上没有Silverlight的经验,被要求开始研究这项技术并为客户提供一些见解,他们可能想用Silverlight重建其.Net桌面应用程序的用户界面。因此,我的经验是我能够通过谷歌搜索(令人惊讶的不容易)和我做过的少数教程所获得的。 我知道Silverlight可以使用ASMX Web服务、WCF服务或REST与服务器进行通信。

问题: 有没有其他官方或非官方的通信方法?

提前感谢, David

1个回答

5

从这里开始:

http://msdn.microsoft.com/zh-cn/library/dd470099(VS.95).aspx

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

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

我有点偏袒这项技术,因为我曾在其中工作过 :), 但我建议你考虑使用 WCF。

这种方法提供了极佳的可用性:只需几分钟即可在项目中“添加新的...启用 Silverlight 的 WCF 服务”,然后一切就可以运行了。在 Silverlight 3 中,此方法使用了一种非常高效的二进制 XML 协议,在调试时可以轻松地切换到常规文本 XML,只需进行两行配置更改即可。并且它与大多数身份验证模型都很好地集成在一起(请参阅上面文档链接中的安全部分)。

当然,你也可以使用 HttpWebRequest、WebClient 或甚至是 sockets 来自定义通信。如果你想在服务器上使用 REST,则最好使用 WebClient。请记住,一些在 REST 中通常可以实现的事情(如使用 PUT 和 DELETE HTTP 动词)由于浏览器限制,在浏览器插件(如 Flash 和 Silverlight)中不可能实现。

最后,还有 .NET RIA 服务。对于某些场景来说,它有点过于重量级,并且没有一些 WCF 的功能(如二进制和双工),但它不仅是与服务器通信的一种方式:它为构建带有服务器端数据的 SL 应用程序提供了一个完整的规范框架,并免费提供了许多不错的功能,例如验证、分页等。


你好 Eugene, 对于像我这样的新手来说,你的答案和链接在这个主题上非常完美。我发现在网络上很难找到一个全面的起点,特别是关于Silverlight 3。非常感谢! - David 'the bald ginger'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接