好吧,所有这些在 Silverlight 控件中获取数据的方法都让我感到困惑。
我查看了 ADO.Net 数据服务、Web 服务和支持 Silverlight 的 WCF 服务。 我只是不确定什么时候适合使用另一个。每种产品有哪些优点/缺点?
我构建了一个网络应用程序和一个 Silverlight 控件。我会将这 3 个选项之一添加到我的 Web 应用程序,并从我的 Silverlight 组件中使用它。
最佳答案
从 silverlight 的角度来看,WCF 无论如何都受到严重限制,因此 WCF 的大部分通常优势都不适用。然而,它仍然是一个相当不错、一致的编程模型。
WCF 主要是一个 SOAP 堆栈,因此它非常擅长将数据呈现为刚性操作。 ADO.NET 数据服务是一个 REST 堆栈,允许通过网络动态执行非常有表现力的查询。
我不知道它在 Silverlight 中的表现如何,但常规的 ADO.NET 数据服务代理(客户端应用程序上的位)对返回服务器的查询和数据更改提供了非常丰富的支持。请注意,应用更改需要 a: Entity Framework ,或 b:大量工作。但是您应该使用这种方法以非常低的成本获得查询和更新。
使用 WCF,您可以获得更加可控的堆栈,因此您将需要编写您希望能够执行的所有不同操作的代码。但这也意味着你有一个已知的攻击面等;像固定 SOAP 端点一样利用锁定的 API 要困难得多。
常规网络服务(WCF 之前):只有在您想要支持非常特定的遗留调用者时才走这条路。
关于c# - Silverlight 启用的 WCF 服务与 Web 服务与 ADO.NET 数据服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361491/