我决定学习Silverlight,但除了知道如何编写应用程序之外,我还需要知道如何连接到远程服务器来获取数据。我已经在.NET中看到了一些数据库连接的例子,但我对这种方式感到困惑。
我的一般性问题是 SL应用程序如何连接到远程服务器?如果您愿意,可以发布主观响应,但这个问题应该是客观的,因为我想了解可能的方法创建与远程SQL服务器的连接。
这些(WCF,XML,Ajax,Linq to SQL,实体框架,数据访问提供程序等)在哪里派上用场?如果想建立健壮和安全的连接,那些(或其他)中的哪一个是必须学习的?我想拿一本书来学习东西,但在我这样做之前,我需要知道如何投入时间。
答案 0 :(得分:1)
Silverlight是一种浏览器技术,不直接与SQL Server建立连接。大多数SL应用程序都将HTTP与服务器(REST,SOAP,POX)对话 - 其他选项可用,但与“大型”.NET Framework相比更为有限。
初学者最简单的方法可能是.NET RIA服务。它允许简单地暴露基于数据库构建的各种模型(LINQ to SQL,Entity Framework等)。如果您正在与SQL Server交谈,LINQ to SQL在模型方面是最简单的,尽管EF也很好(更大,更复杂的锤子)。 RIA Services将允许您通过Web服务公开模型中的表对象,Silverlight客户端可以通过远程返回服务器的LINQ查询来使用数据(非常高效 - 查询条件存在于客户端上,而数据过滤发生在服务器上,并且它是针对模型进行的所有编译时类型检查,因此更难以阻止数据类型和查询或使自己暴露于SQL注入攻击)。 RIA服务还允许您在两端应用各种安全选项和数据验证,如果您降低级别并执行RIA无法做的事情,则可以使用WCF的全部功能。