c# - Silverlight 启用的 WCF 服务与 Web 服务与 ADO.NET 数据服务

标签 c# .net silverlight wcf web-services

好吧,所有这些在 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/

相关文章:

适用于我的商业应用程序的 Silverlight 或 MVC 2(或 MVC 3?)?

silverlight - 在 Silverlight 中获取 MAC 地址

c# - 将语音文化改变为其他语言

c# - 避免 switch case -linq

c# - 寻找一个简单的.net 动画库

.net - 使用正则表达式查找不在 html 标记中的特定字符串

c# - 通过网络浏览器从 silverlight 到 winforms 的通信

c# - 这个扩展方法线程安全吗?

c# - 从字典中获取最接近的可用值

c# - 将 java 字节转换为 c# 字节(序列化问题)