目前我正在使用HttpWebRequest
从外部网站提取json
数据,但性能不佳。 wcf
好多了?
我需要专家建议..
答案 0 :(得分:0)
简短的回答是:不。
更长的答案是WCF是一个API,它没有指定通信方法,但支持多种方法。但是,这些方法通常都是通过SOAP进行的,这比JSON和it would seem the world has decided to move on from SOAP更容易听到。
您在寻找什么样的表现?您有什么表现?可能您只是面对网络位置的物理限制,在这种情况下,即使数据缓慢,您也可能希望使界面更具响应性。
看看大部分延迟是否恰好到达远程站点是值得的(例如响应时间与ping时间相当)。或者,问题可能是远程站点生成和提供页面所需的时间。如果是这样,一些中间缓存可能是最好的。
答案 1 :(得分:0)
可能不是,但这不是正确的问题。
要回答这个问题:肯定支持JSON的WCF最终会在底层使用HttpWebRequest
,它肯定会有相同的网络延迟。更重要的是,它将使用相同的服务器来获取JSON。 WCF在构建,维护和配置Web服务和客户端方面具有很多优势,但它并没有神奇地加快速度。与WCF默认使用的方法相比,反序列化JSON的方法可能非常慢,但我对此表示怀疑。
这提出了非常重要的一点:找出表现糟糕的原因。如果您知道什么是缓慢的,那么更改框架只是一个可理解的优化选项,并且,通过扩展,如何做一些不同的事情会降低它的速度。是服务器吗?是反序列化吗?是网络吗?是身份验证还是其他一些请求开销细节?等等。
所以真正的答案是:个人资料!一旦你知道性能问题到底是什么,你就可以做出关于像WCF这样的框架是否会有所帮助的明智决定。
答案 2 :(得分:0)
+1关于Isaac的说法,但我要补充的一件事是,如果你在这里使用WCF,它会在大多数地方内部使用HttpWebRequest,所以你绝对不会获得性能。然而,您可能无意中获得性能的一种方式是WCF如何在内部回收,重用,池化和缓存大多数传输对象。所以它最终可以追溯到艾萨克关于剖析的建议。