Javascript 使用Ajax或Silverlight调用Web服务?哪一个表现最好?

Javascript 使用Ajax或Silverlight调用Web服务?哪一个表现最好?,javascript,ajax,silverlight,web-services,asp.net-ajax,Javascript,Ajax,Silverlight,Web Services,Asp.net Ajax,我正在构建一个ASP.NET AJAX应用程序,该应用程序使用JavaScript调用web服务以获取其数据,并使用Silverlights隔离存储在客户端计算机上缓存数据。最终,一旦数据被下载,它就被传递到JavaScript,JavaScript使用HTMLDOM显示在页面上 我想弄清楚的是,在Silverlight中进行这些Web服务调用,然后在加载数据后将其传递给JavaScript,这对我来说有意义吗?另外,Silverlight将使用独立存储将数据保存到磁盘,无论我使用JavaScr

我正在构建一个ASP.NET AJAX应用程序,该应用程序使用JavaScript调用web服务以获取其数据,并使用Silverlights隔离存储在客户端计算机上缓存数据。最终,一旦数据被下载,它就被传递到JavaScript,JavaScript使用HTMLDOM显示在页面上

我想弄清楚的是,在Silverlight中进行这些Web服务调用,然后在加载数据后将其传递给JavaScript,这对我来说有意义吗?另外,Silverlight将使用独立存储将数据保存到磁盘,无论我使用JavaScript还是Silverlight调用Web服务。如果我使用JavaScript调用Web服务,数据将被传递到Silverlight进行缓存

我已经用两种方法做了一些原型设计,我发现两种方法的性能基本相同。另外,一个引导我使用Silverlight进行整个客户端数据访问层的因素是,我需要让计时器定期检查更新的数据并将其下载到缓存中,以便JavaScript可以在需要时加载


有人做过类似的事情吗?如果是这样的话,你用JavaScript或Silverlight方法描述的性能有什么样的经验?

< P>另一个要考虑的问题——以JSON格式获取数据将比XML和Web服务更快。JSON很快成为JavaScript对象,不必像XML那样解析。就我个人而言,我会选择JavaScript


文章:

由于JavaScript不是多线程的,我发现使用Silverlight访问/缓存数据,然后将其传递给JavaScript进行显示可以产生更好的性能,同时避免锁定/冻结浏览器,这样用户可以在加载数据时继续执行操作。

传递JSON格式的数据在一定程度上更快,因为与XML SOAP消息不同,它不需要SOAP头或任何其他杂项信息—它只是纯数据。因此,使消息的总大小变小。

由于Silverlight可以处理JSON和基于XML的服务,因此响应的格式完全不相关。然而,你必须考虑的是:

1) Silverlight的速度大约是JavaScript的1000倍 2) 如果您的web服务本机是基于SOAP的,VisualStudio可以为您生成一个代理,这样您就不需要解析SOAP消息。 3) Silverlight具有LINQ到XML和LINQ到JSON,这使得解析POX和JSON变得轻而易举

在一个完美的世界中,我会选择Silverlight作为“引擎”,如果Silverlight不可用,我会回到JavaScript

您好,
劳伦特

顺便说一句,表演不是一个词。这不是AJAX的要点吗?防止浏览器被锁定/冻结?AJAX的要点是丰富的客户端功能。但是,JavaScript不是多线程的,因此如果触发一个elements事件,它需要在页面上运行任何其他JavaScript之前完成,从而“冻结”页面。在本例中使用Silverlight解决了这个问题,因为它在diff Thread中运行,这正是我的想法。