背景: 我基本上没有 Silverlight 的经验,我被要求开始阅读技术并为可能想要在 silverlight 中重建其 .Net 桌面应用程序的 UI 的客户提供一些见解。所以我的经验是我能够通过谷歌搜索(令人惊讶的是这并不容易)和我完成的一些教程。 我知道 Silverlight 可以使用 ASMX Web 服务、WCF 服务或 REST 与服务器进行通信。
问题: 有没有人知道任何其他官方或非官方的沟通方式?
先谢谢你, 大卫
最佳答案
从这里开始:
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 协议(protocol),只需更改两行配置即可轻松切换为常规文本 XML 进行调试。它与您想要的大多数身份验证模型很好地集成(请参阅上面文档链接中的安全部分)。
当然,您可以使用 HttpWebRequest、WebClient 甚至套接字来滚动您自己的通信。如果您想在服务器上使用 REST,使用 WebClient 可能是最好的。请记住,由于浏览器的限制,某些通常在 REST 中可行的操作(例如使用 PUT 和 DELETE HTTP 动词)在 Flash 和 Silverlight 等浏览器插件中是不可能的。
最后,还有 .NET RIA 服务。对于某些场景来说,它有点太重了,并且没有 WCF 的某些功能(如二进制和双工),但它不仅仅是一种与服务器通信的方式:它为您提供了构建 SL 的完整规范框架具有服务器端数据的应用程序,并免费为您提供许多不错的功能,例如验证、分页等。
关于silverlight - Silverlight与服务器端的通信方式有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542497/