好的我正在建立一个API,但也想让我自己的应用程序使用该API。 我正在为我的Web服务和数据以及我的应用程序的Silverlight思考WCF,LinQ和JSON。
我有几个问题。
1)你会推荐XML over JSON或Json over XML吗? a)Json是否会更快地进行传输和反序列化,或者XML会更快地传输和反序列化?
2)使用LINQ会阻止任何人连接到我的服务表单PHP吗?
3)你会推荐不同的东西吗?
答案 0 :(得分:2)
放慢那里的伙伴吧! ; - )
我认为你有点困惑自己很多缩略词....让我们分解并更好地理解每种技术。
我认为这就是你想要的:
是吗?让我知道,我们可以进一步分解。
好的,当你说LINQ时,你必须指的是Linq2Sql?在这种情况下,这是您的数据层...因此,您使用哪种技术进行数据访问并不重要,因为您的所有Web服务都应该提供DTOs。
至于序列化...因为你想使用WCF,并且只要你使用DTO,那么你应该独立于序列化构建你的API。这可以通过您在WCF中配置的“绑定”类型来处理。所以,现在,它应该没关系。
在这方面,因为你可以为每个服务提供多个“WCF端点”,你可以提供一个JSON,一个XML(restful),甚至一个SOAP ..而不需要编写太多的额外代码。< / p>
我个人更喜欢XML,因为使用Linq到Xml解析.net非常容易,但JSON不那么冗长,可以说占用空间更小。
因此,您的silverlight应用程序只是一个消耗您的Web服务的客户端。
您的网络服务将以DTO的形式向您的客户提供所需的任何数据。您当然可以在您的客户端中使用某种系统来缓存DTO,这样您就不必一直调用Web服务......或者您可以提出某种同步解决方案....但是这两种方式都是如此。 ...
...您的网络服务是唯一一个与数据库通信的服务器,而数据库又存在于您的服务器上。因此,它是您的Web服务,与您的DAL(数据访问层)对话,而这反过来可以实现Linq2Sql或任何其他数据访问技术。