我正在构建一个 API,但也希望我自己的应用程序使用该 API。 我正在考虑为我的 Web 服务使用 WCF、LinQ 和 JSON,为我的应用程序考虑使用数据和 Silverlight。
我有几个问题。
您会推荐使用 XML 而非 JSON 或 Json 而非 XML 吗? a) Json 会以原生方式更快地传输和反序列化,还是 XML 会更快地传输和反序列化?
使用 LINQ 会阻碍任何人通过 PHP 连接到我的服务吗?
你能推荐一些不同的吗?
伙伴慢点! ;-)
我认为您对很多首字母缩略词感到有点困惑......让我们把事情分解并更好地理解每种技术。
我想这就是你想要的:
是吗?让我知道,我们可以进一步分解。
好吧,当你说 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 或任何其他数据访问技术。