您会使用 WCF Linq 和 JSON 作为 API

问题描述 投票:0回答:1

我正在构建一个 API,但也希望我自己的应用程序使用该 API。 我正在考虑为我的 Web 服务使用 WCF、LinQ 和 JSON,为我的应用程序考虑使用数据和 Silverlight。

我有几个问题。

  1. 您会推荐使用 XML 而非 JSON 或 Json 而非 XML 吗? a) Json 会以原生方式更快地传输和反序列化,还是 XML 会更快地传输和反序列化?

  2. 使用 LINQ 会阻碍任何人通过 PHP 连接到我的服务吗?

  3. 你能推荐一些不同的吗?

json .net wcf silverlight
1个回答
2
投票

伙伴慢点! ;-)

我认为您对很多首字母缩略词感到有点困惑......让我们把事情分解并更好地理解每种技术。

我想这就是你想要的:

  • Web 服务形式的 API 和 silverlight 中的客户端应用程序。
  • 您还希望 silverlight 以外的客户端使用您的 Web 服务 API

是吗?让我知道,我们可以进一步分解。

更新

好吧,当你说 LINQ 时,你一定是指 Linq2Sql 吧?在这种情况下,这就是您的数据层...所以您使用什么技术来访问数据并不重要,因为您所有的网络服务都应该提供DTO

至于序列化...因为您想使用 WCF,并且只要您使用 DTO,那么您应该独立于序列化构建 API。这可以通过您在 WCF 中配置的“绑定”类型来处理。所以,目前来说,这应该不重要。

在这一点上,因为每个服务可以有多个“WCF 端点”,所以您可以提供一个 JSON 端点、一个 XML(静态)端点,甚至一个 SOAP 端点......而无需编写太多额外代码。

我个人更喜欢 XML,因为使用 Linq to Xml 在 .net 中解析它非常容易,但 JSON 不太冗长,并且可以说占用空间更小。

回复您的评论

嘿里科,谢谢。不完全是。

因此,您的 silverlight 应用程序只是一个使用您的 Web 服务的客户端。

您的网络服务将以 DTO 的形式为您的客户提供所需的任何数据。当然,您可以在客户端中使用某种系统来缓存 DTO,这样您就不必一直调用 Web 服务...或者您可以想出某种同步解决方案...但是枯萎的方式。 ...

...您的网络服务是唯一与数据库通信的服务,而数据库又位于您的服务器上。因此,您的 Web 服务与您的 DAL(数据访问层)进行通信,进而可以实现 Linq2Sql 或任何其他数据访问技术。

© www.soinside.com 2019 - 2024. All rights reserved.