【问题标题】:WCF service or OData for Windows 8 / WP8 app适用于 Windows 8 / WP8 应用程序的 WCF 服务或 OData
【发布时间】:2013-07-08 15:47:47
【问题描述】:

我必须在这两种可能性之间进行选择,才能从 Windows 应用商店/Windows Phone 8 应用程序访问数据库:

  • 普通 WCF 服务,带有实体框架,以及获取我的数据的方法(例如:GetUsers())

  • WCF 数据服务 (OData) 也带有实体框架

我测试了这两种方法,它的工作原理,但我现在不知道该选择什么。

那么,每种方法的区别和优势是什么?

谢谢

【问题讨论】:

    标签: wcf windows-phone-8 odata


    【解决方案1】:

    如果您的服务可能会与您无法控制的客户端进行通信,那么 WCF DS(以及因此 OData)可能是您的选择,因为通过成为其中的一部分,您的服务将比其他任何服务更具互操作性不断发展的 OData 生态系统。

    如果您只关心自己的客户,那么您的决定可能是基于易于开发、性能、可维护性等。

    直接的 WCF 服务将为您提供更精确的控制,并且可能允许以各种方式增强性能,因为您可以更好地控制数据的外观。但这可能也意味着更多的工作。

    WCF DS 服务器/客户端将使您永远不必担心对请求或响应的数据进行序列化或反序列化。 WCF DS Client 可以构建多种类型的请求,并免费提供实体状态跟踪。如果您也使用实体框架,那么服务器很容易启动和运行。如果您需要执行 OData 中没有的操作,则可能很难使用 WCF DS,具体取决于您的需要。在这类事情上使用 Web API 也有很大的动力 - 也可以为您的服务查看 Web API + OData。如果您朝那个方向发展,那么您仍然希望使用 WCF DS 客户端。

    底线:WCF DS 很可能会更快地让您启动并运行您可能需要的许多功能。但是,如果您最终需要一些堆栈无法处理的自定义逻辑,那么使用它会比直接使用 WCF 服务更难。

    请注意,WCF DS 客户端现在有一个5.6.0-alpha .NET Portable Library 可用(预发布),它将支持来自同一个 DLL 的 Windows 应用商店和 Windows Phone 8 应用程序。这缺少电话应用程序经常需要的一些功能,例如墓碑支持。如果这是一个问题,请考虑使用older releases (5.0) of the specific Windows Store and Windows Phone 8 versions of WCF DS Client

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多